Golang零基础入门课_20240726 课程笔记

视频课程

最近发现越来越多的公司在用Golang了,所以精心整理了一套视频教程给大家,这个只是其中的第一部,后续还会有很多。

视频已经录制完成,完整目录截图如下:
在这里插入图片描述

课程目录

  • 01 第一个Go程序.mp4
  • 02 定义变量.mp4
  • 03 定义常量.mp4
  • 04 常量的iota枚举.mp4
  • 05 值类型和引用类型.mp4
  • 06 指针取地址和取值.mp4
  • 07 函数的基本用法.mp4
  • 08 函数可以作为另一个函数的参数.mp4
  • 09 闭包.mp4
  • 10 定义数组常用的两种方式.mp4
  • 11 定义二维数组.mp4
  • 12 一维数组的遍历和二维数组的遍历.mp4
  • 13 切片的增删改查操作.mp4
  • 14 字典的增删改查操作.mp4
  • 15 单元测试.mp4

每节课的代码

01 第一个Go程序.mp4

package mainimport "fmt"func main() {fmt.Println("hello world")
}

02 定义变量.mp4

package mainimport "fmt"func main() {var a = 33b := 333fmt.Println(a)fmt.Println(b)
}

03 定义常量.mp4

package mainimport "fmt"func main() {const a = 33const (b = 44c = 55)fmt.Println(a)fmt.Println(b)fmt.Println(c)
}

04 常量的iota枚举.mp4

package mainimport "fmt"func main() {const (a = iotabc)fmt.Println(a)fmt.Println(b)fmt.Println(c)
}

05 值类型和引用类型.mp4

package mainimport "fmt"func main() {a := 33b := make(chan int, 1)fmt.Println(a)fmt.Println(b)
}

06 指针取地址和取值.mp4

package mainimport "fmt"func main() {a := 33pa := &afmt.Println(pa)fmt.Println(*pa)
}

07 函数的基本用法.mp4

package mainimport "fmt"func add(a, b int) int {return a + b
}func main() {fmt.Println(add(1, 2))
}

08 函数可以作为另一个函数的参数.mp4

package mainimport "fmt"type opFunc func(int, int) intfunc calc(op opFunc, a, b int) int {return op(a, b)
}func add(a, b int) int {return a + b
}func main() {fmt.Println(add(1, 2))fmt.Println(calc(add, 1, 2))
}

09 闭包.mp4

package mainimport "fmt"func Add() func(int) int {var x intf := func(y int) int {x += yreturn x}return f
}func main() {add := Add()fmt.Println(add(1))  // 1fmt.Println(add(33)) // 34
}

10 定义数组常用的两种方式.mp4

package mainimport "fmt"func main() {arr := [3]int{1, 2, 3}arr2 := [...]int{2, 2, 3, 3, 3}fmt.Println(arr)fmt.Println(arr2)
}

11 定义二维数组.mp4

package mainimport "fmt"func main() {arr := [3][3]int{{1, 2, 3},{1, 2, 3},{1, 2, 3},}fmt.Println(arr)
}

12 一维数组的遍历和二维数组的遍历.mp4

package mainimport "fmt"func main() {arr1 := [3]int{1, 2, 3}for k, v := range arr1 {fmt.Println(k, v)}fmt.Println("===")arr := [3][3]int{{1, 2, 3},{1, 2, 3},{1, 2, 3},}for k, v := range arr {for kk, vv := range v {fmt.Println(k, kk, vv)}fmt.Println("xxxxxxxx")}
}

13 切片的增删改查操作.mp4

package mainimport "fmt"func main() {var arr []intarr = append(arr, 11)arr = append(arr, 22)arr = append(arr, 33)fmt.Println(arr)index := 1arr = append(arr[:index], arr[index+1:]...)fmt.Println(arr)arr[0] = 333fmt.Println(arr)
}

14 字典的增删改查操作.mp4

package mainimport "fmt"func main() {d := make(map[string]int)d["a"] = 1fmt.Println(d)d["a"] = 33fmt.Println(d)fmt.Println(d["a"])delete(d, "a")fmt.Println(d)
}

15 单元测试.mp4

package mainfunc Add(a, b int) int {return a + b
}
package mainimport "testing"func TestAdd(t *testing.T) {r := Add(11, 22)if r != 33 {t.Errorf("Add(11,22) = %d, want 33", r)}
}

代码截图

在这里插入图片描述

总结

本套教程作为Go语言的零基础入门课程,主要讲解了Go语言的一些入门级别的简单基础知识,每节课都附上了完整的源码,以实战为主。

如果您需要完整的源码,打赏20元即可。

人生苦短,我用Python,我是您身边的Python私教~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/384985.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信公众号获取用户openid(PHP版,snsapi_base模式)

微信公众号获取用户openid的接口有2个:snsapi_base、snsapi_userinfo 详情见微信公众号开发文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html 本文介绍用PHP方式调用snsapi_base接口获取微信用户…

机器学习课程学习周报五

机器学习课程学习周报五 文章目录 机器学习课程学习周报五摘要Abstract一、机器学习部分1.1 向量序列作为模型输入1.1.1 文字的向量表达1.1.2 语音的向量表达 1.2 自注意力机制原理1.2.1 自注意力机制理论1.2.2 矩阵运算自注意力机制 1.3 多头自注意力1.4 位置编码1.5 截断自注…

什么是Socket、Socket在Java中的应用、Socket和SocketChannel区别

目录 什么是Socket TCP\IP UDP体系结构 Socket和TCP\IP的关系 Socket在Java中的应用 Socket和SocketChannel的区别 SocketChannel和Selector的关系 服务器的设计演化历程---多线程版 服务器的设计演化历程---线程池版 服务器的设计演化历程---Selector版 参考链接 什么…

Docker 搭建Elasticsearch详细步骤

本章教程使用Docker搭建Elasticsearch环境。 一、拉取镜像 docker pull docker.elastic.co/elasticsearch/elasticsearch:8.8.2二、运行容器 docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-n

【前端 14】Vue常见指令

Vue常见指令 Vue.js 是一个构建用户界面的渐进式框架,它通过一系列简洁的指令(Directives)来增强HTML的功能,使得开发者能够更加方便地构建出响应式的Web应用。本文将详细讲解Vue中的几个核心指令:v-bind、v-model、v…

软件缺陷(Bug)、禅道

目录 软件缺陷的判定标准 软件缺陷的核心内容 构成缺陷的基本要素 缺陷报告 缺陷管理 缺陷的跟踪流程 项目管理工具--禅道 软件在使用过程中存在的任何问题(如:错误、异常等),都叫软件的缺陷,简称bug。 软件缺…

独立开发者系列(35)——python环境的理解

新手阶段,为了快速入门,基本都是直接开始写python代码实现自己想要的效果,类似搭建博客,写个web服务器,搭建简易聊天室,偶尔也写些爬虫,或者使用pygame写个简单小游戏,也有tk库做点简…

树和二叉树(不用看课程)

1. 树 1.1 树的概念与结构 树是⼀种非线性的数据结构,它是由 n(n>0) 个有限结点组成⼀个具有层次关系的集合。把它叫做树是因为它看起来像⼀棵倒挂的树,也就是说它是根朝上,而叶朝下的。 • 有⼀个特殊的结点&am…

[微信小程序] css 解决纯数字或字母不自动换行的问题、控制文字行数

效果 css 代码 word-break: break-all; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;解释 word-break: break-all; 作用:这个属性允许在单词内部进行换行,即使单词很长也…

FastAPI(七十七)实战开发《在线课程学习系统》接口开发-- 课程编辑和查看评论

源码见:"fastapi_study_road-learning_system_online_courses: fastapi框架实战之--在线课程学习系统" 课程编辑 先来看下课程编辑 1.判断是否登录 2.判断课程是否存在 3.是否有权限(只有自己可以修改自己的课程) 4.名称是否重复…

7月23日JavaSE学习笔记

异常: 程序中一些程序处理不了的特殊情况 异常类 Exception 继承自 Throwable 类(可抛出的) Throwable继承树 Error:错误/事故,Java程序无法处理,如 OOM内存溢出错误、内存泄漏...会导出程序崩溃 常见的…

区块链赋能民生大数据,共筑可信共享新生态

一、背景 在信息化浪潮的推动下,政府服务模式正经历着前所未有的变革。民生卡,作为连接政府与民众的桥梁,承载着居民享受多元化公共服务的重任。然而,部门间信息孤岛现象严重制约了服务效率与居民体验的提升。为此,民…

大厂面试官问我:ConcurrentHashMap底层原理?【后端八股文十五:Java集合合集】

本文为【Java集合 合集】初版,后续还会进行优化更新,欢迎大家关注交流~ hello hello~ ,这里是绝命Coding——老白~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏&#…

【Golang 面试基础题】每日 5 题(十)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/UWz06 📚专栏简介:在这个专栏中,我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏…

vue3里将table表格中的数据导出为excel

想要实现前端对表格中的数据进行导出,这里推荐使用xlsx这个依赖库实现。 1、安装 pnpm install xlsx 2、使用 import * as XLSX from "xlsx"; 直接在组件里导入XLSX库,然后给表格table通过ref创建响应式数据拿到table实例,将实…

CSS 基础知识

CSS(级联样式表)是设置 Web 内容样式的代码。CSS 基础知识将介绍入门所需的内容。我们将回答以下问题:如何将文本设置为红色?如何使内容显示在(网页)布局中的某个位置?如何用背景图片和颜色装饰我的网页? 什么是CSS? 像HTML一样,CSS不是一种编程语言。它也不是一种标…

拉提查合创5步玩转git工具协作代码开发

1 工具使用场景 开发团队使用git版本管理工具,进行协作代码开发过程中,最常用的场景为: (1)拉取代码 将git远端仓库最新代码拉取到本地。 (2)提交代码 将本地新增修改的代码提交至git远端仓库中…

【Django】开源前端库bootstrap,常用

文章目录 下载bootstrap源文件到本地项目引入bootstrap文件 官网:https://www.bootcss.com/V4版本入口:https://v4.bootcss.com/V5版本入口:https://v5.bootcss.com/ 这里使用成熟的V4版本,中文文档地址:https://v4.b…

SpringBoot整合SSE技术详解

Hi 👋, Im shy SpringBoot整合SSE技术详解 1. 引言 在现代Web应用中,实时通信变得越来越重要。Server-Sent Events (SSE)是一种允许服务器向客户端推送数据的技术,为实现实时更新提供了一种简单而有效的方法。本文将详细介绍如何在SpringBoot中整合SSE,并探讨S…

Java的四种引用类型

Java的四种引用类型 1. 强引用(Strong Reference)2. 软引用(Soft Reference)3. 弱引用(Weak Reference)4. 虚引用(Phantom Reference) 💖The Begin💖点点关注…