go

WaitGroup 和 worker pool

WaitGroup worker pool WaitGroup WaitGroup 用于等待一个集合的 goroutine 执行完毕。 WaitGroup 是一个结构体,内部使用了一个计数器,使用 Add 可以增加计数,使用 Done 可以减少计数。当计数为 0 的时候,Wa

作用域

编译器遇到一个名字的引用时,从最内层的封闭词法块到全局块寻找其声明 没有找到会报 “undeclared name” 错误 内层和外层都存在声明时,内

信道

channel 单向 channel close 关闭信道 有缓冲的 channel channel channel 可认为是带有类型的 pipe,goroutine 通过 channel 通信 每个 channel 有一个关联的类型,这个类型是 channel 允许传输的数据类

同一包不同源文件变量声明时不要带包名

同一个包 pkgname 有多个源文件,比如 A.go、B.go。A.go 中声明了变量 var1,B.go 使用此变量直接写 var1,如果使用 pkgname.var1 会报错,找不到定义

安装 go

Linux 安装和使用 go 安装 设置工作目录 GOPATH 测试安装 安装其他版本 Windows 安装和使用 go MacOS 安装和使用 go 卸载旧版本 命令 vscode 使用 go 配置代理 Linux 安装和使用 go 安装 下载安装包 选

异常处理

defer 使用 defer 栈 panic 使用 recover 使用 Go 不支持 try..catch..finally 这种异常。使用多值返回来返回错误 在极端情况下才用异常(如除数为 0),异常处理使用了 defer,panic,r