Channel关闭原则
不要在消费端关闭channel,不要在有多个并行的生产者时对channel执行关闭操作。
也就是说应该只在[唯一的或者最后唯一剩下]的生产者协程中关闭channel,来通知消费者已经没有值可以继续读了。只要坚持这个原则,就可以确保向一个已经关闭的channel发送数据的情况不可能发生。
有时我会被问到“你为什么喜欢使用Go?” 我经常提到的一件事是作为go
命令的一部分与语言一起存在的周到工具。我每天都会使用一些工具(例如go fmt
和)go build
,而其他类似工具go tool pprof
仅用于帮助解决特定问题。但是在所有情况下,我都很欣赏它们使我的项目管理和维护更加容易的事实。
对于 Golang 开发而言,Golang 语言版本的迭代速度是惊人的,几乎每几个月就需要更新一次小版本。对于 Golang 程序员来说,最渴望的特性莫过于 Go 2.0 的新特性,现在 Go 的版本已经是 1.14,相信在不久的将来会盼望到 2.0 的到来。但是 Golang 采用的是逐步迭代小版本,最终演化为最终版本,作为 Golang 程序员需要对每一个小版本的特性进行学习,因此管理 Go 版本的工具是迫在眉睫的问题,现在为大家介绍一个神级版本管理工具。
我重写了公司原有的代码,对pb文件进行了更改,为了保持原有的功能保持正确性,我不得不进行测试,但是我没有找到任何一个关于Golang Grpc的测试,通过查找,可以不用开启Grcp客户端进行测试,只需要通过反射就可以调用到Grcp的方法,并进行测试。
Update your browser to view this website correctly. Update my browser now