域名频道资讯站
我们一直在努力制造惊吓

Uber 开放公司内部《Go 语言风格指南》

Uber 开放公司内部《Go 语言风格指南》

其中许多约定是 Go 的通用准则,而其它准则则参考了外部资源:

  • Effective Go

  • The Go common mistakes guide

指南涵盖了“指导方针”、“性能”、“风格”与“模式”几个大模块,下设各项具体的注意事项:

Uber 开放公司内部《Go 语言风格指南》

以“Defer to Clean Up(使用 defer 清理)”小节为例,该指南这样描述:

使用 defer 清理资源,例如文件和锁。

Bad

Good

p.Lock()if p.count < 10 {  p.Unlock()  return p.count}p.count++newCount := p.countp.Unlock()return newCount// easy to miss unlocks due to multiple returns
p.Lock()defer p.Unlock()if p.count < 10 {  return p.count}p.count++return p.count// more readable

defer 的开销非常小,只有在可以证明函数执行时间处于纳秒级的程度时,才应避免使用。使用 defer 可以获得更好的代码可读性,而它的开销相比来说可以忽略不计。对于具有更多更大内存访问的方法来说 defer 会显得更加重要。

详情查看该指南:

https://github.com/uber-go/guide/blob/master/style.md

本文素材来自互联网

赞(0)
分享到: 更多 (0)

中国专业的网站域名及网站空间提供商

买域名买空间

登录

注册