# Day2 后端基础菜鸟补充学习笔记-并发 | 青训营笔记

126 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第2天

碎碎念

借由青训营的笔记号召,加上抱着记录学习过程的心思,会根据自身理解不透彻的点进行补充,笔记内容会比较!非常!很!偏基础,针对基础薄弱选手,大佬可跳

Day 2 内容安排

基础跳转进阶(好吧,对之前主打不是go的选手不是很友好)

  1. 并发编程 依赖管理
  2. 测试 实战

随记

  • 并发编程基础知识补充:

           并发编程概念等补充学习理解(哎,有大佬就有菜鸟,没关系!一步步学吧)
    
  1. 并发编程是指同时处理多个任务程序,Go中主要以可以用两种手段来实现,Goroutines和Channels
  2. Goroutines:在Go语言中,每一个并发的执行单元叫作一个goroutine。主函数在单独的一个goroutine,即main goroutine。程序中编程者需要设想并发的函数,通过go语句使其在另一个goroutine。例如,需要一个程序同时进行计算和输出,那么两部分可放在两个goroutine。
  3. 在语法上,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)
}
  1. Channels:Channels是Goroutines之间的通信机制,即一个goroutine可以通过channel给另一个goroutine发送参数值信息,实现彼此间调用.一个channel包含发送和接收两个基本操作,都使用<-运算符
  2. 在语法上,使用内置的make函数创建一个channel
ch := make(chan int) // 可以发送int类型数据的channel 写法'chan int'

ch = make(chan int, 3) // 指定第二个整型参数,对应channel的容量,即3

以上代码源自[Go语言圣经(中文版)],仅截取部分示例,书中还提供了多个实例完整程序及讲解可供测试

总结

  1. 青训营的基础内容是过的很快的
  2. 程序要练习!