摘要:
如果使用channel之前没有make,会出现dead lock错误。 至于为什么,等待研读源码补充 func main() { var x chan int go func() { x <- 1 }() <-x } /* fatal error: all goroutines are asleep 阅读全文
摘要:
有多种方式可以获得Go程序的汇编代码, 尽管输出的格式有些不同,但是都是方便阅读的汇编代码,可以帮助我们更好的了解程序的底层运行方式。 我们看下面一段代码, 它是sync.Once的实现,去掉了不必要的注释,复制出来用来研究的一段小代码。 type Once struct { m sync.Mute 阅读全文
摘要:
go mod 模式下安装cobra 只有指明版本号才能成功安装 ➜ ~ go get -u github.com/spf13/cobra/cobra@v1.0.0 go: finding github.com/spf13/cobra/cobra v1.0.0 go: finding github.c 阅读全文