这是我参与「第三届青训营 -后端场」笔记创作活动的第2篇笔记
并发编程:
类似于多线程
Go语言的并发模型实CSP(Communicating Sequential Processes)提倡通过通信共享内存而不是通过共享内存实现通信。
channel:就是Go语言中,将一个goroutine发送特定值到另一个goroutine的通信机制。
Go 语言中的通道(channel)是一种特殊的类型。通道就是一个队列,总是遵循先入先出(First In First Out)的规则,保证收发数据的顺序。每一个通道都是一个具体类型的导管,也就是声明channel的时候需要为其指定元素类型。
无缓冲
有缓冲
阻塞
单项
写法
(58条消息) Go语言并发编程_Channel_Bryce_Huang的博客-CSDN博客
依赖管理
引包时的版本管理问题
下载模块时使用
(58条消息) Go语言之依赖管理_聪明的竹子的博客-CSDN博客_go 依赖管理‘
单元测试:
就是软件测试,自己编几组样例
- 要开始一个单元测试,需要准备一个 go 源码文件,在命名文件时需要让文件必须以_test结尾。
2、单元测试源码文件可以由多个测试用例组成,每个测试用例函数需要以Test为前缀
func TestXXX( t *testing.T )
3、测试用例文件不会参与正常源码编译,不会被包含到可执行文件中。
4、测试用例文件使用 go test 指令来执行,没有也不需要 main() 作为函数入口。所有在以_test结尾的源码内以Test开头的函数会自动被执行。
5、测试用例可以不传入 *testing.T 参数
6、新建的测试文件一般和源文件 放同一目录
7、go单元测试,引入包 testing