这是我参与「第五届青训营 」笔记创作活动的第2天
碎碎念
借由青训营的笔记号召,加上抱着记录学习过程的心思,会根据自身理解不透彻的点进行补充,笔记内容会比较!非常!很!偏基础,针对基础薄弱选手,大佬可跳
Day 2 内容安排
基础跳转进阶(好吧,对之前主打不是go的选手不是很友好)
- 并发编程 依赖管理
- 测试 实战
随记
-
并发编程基础知识补充:
并发编程概念等补充学习理解(哎,有大佬就有菜鸟,没关系!一步步学吧)
- 并发编程是指同时处理多个任务程序,Go中主要以可以用两种手段来实现,Goroutines和Channels
- Goroutines:在Go语言中,每一个并发的执行单元叫作一个goroutine。主函数在单独的一个goroutine,即main goroutine。程序中编程者需要设想并发的函数,通过go语句使其在另一个goroutine。例如,需要一个程序同时进行计算和输出,那么两部分可放在两个goroutine。
- 在语法上,go语句是一个普通的函数或方法调用前加上关键字go
func main() {
go spinner(100 * time.Millisecond) //go 语句应用
const n = 45
fibN := fib(n) // slow
fmt.Printf("\rFibonacci(%d) = %d\n", n, fibN)
}
- Channels:Channels是Goroutines之间的通信机制,即一个goroutine可以通过channel给另一个goroutine发送参数值信息,实现彼此间调用.一个channel包含发送和接收两个基本操作,都使用
<-运算符 - 在语法上,使用内置的make函数创建一个channel
ch := make(chan int) // 可以发送int类型数据的channel 写法'chan int'
ch = make(chan int, 3) // 指定第二个整型参数,对应channel的容量,即3
以上代码源自[Go语言圣经(中文版)],仅截取部分示例,书中还提供了多个实例完整程序及讲解可供测试
总结
- 青训营的基础内容是过的很快的
- 程序要练习!