go提供了sync包和channel来解决协程同步和通讯。
方式1:
sync.WaitGroup是等待一组协程结束,sync.WaitGroup只有3个方法,Add()添加一个计数,Done()减去一个计数,Wait()阻塞直到所有任务完
GO类型转换及与C的类型转换
类型转换
语法dst := float32(src)
示例var num int = 520
f32 := float32(num)
i64 := int64(num)
注意:加入val是一个指针,int32(
GOPATH 和 GOROOT
不同于其他语言,go中没有项目的说法,只有包, 其中有两个重要的路径,GOROOT 和 GOPATH GOROOT是安装目录,GOPATH是我们的工作空间, 用来存放包的目录GOPATH可以设置多个,其中,第
go设置多个GOPATH
linux:GOPATH=
在使用go mod的过程中,发现不容易指定版本号
尤其是没有打tag的,不知道怎么指定版本号, 不知道有哪版本号
正常使用都没有问题,但是当引用的项目用了旧的代码, 这时候必须使用旧的版本,无法指定版本,不知道如何入手
尤其是k8s.io不
目录阻塞方式(需要执行结果)适用于执行普通非阻塞shell命令,且需要shell标准输出的非阻塞方式(不需要执行结果)阻塞方式(需要执行结果)主要用于执行shell命令,并且返回shell的标准输出
适用于执行普通非阻塞shell命令,且需
这是因为获取golang.org/x/...时需要翻墙,而我这里没有翻墙,不过没关系
设置下代理即可:// bash mac
export GOPROXY=https://goproxy.io
// powershell windows
目录概述error使用方式1.直接判等2.组合error接口,构建更强大的error接口3.Errno模式4.Go1.13的Wrap模式5. Go版本低时的链式error概述
当我们需要在Go项目中设计error,就不得不先知道Go err