有什么 Go 语言特性是资深的程序员常用,而新手很少使用的呢?

Go

依照我的经验来看, 这通常是反着的. 经验丰富的 Go 程序员的代码往往非常简洁. 线性, 模块化, 并使用简单的结构体和数据类型完成构建. 他们使用其他功能, 也仅在非常需要时才使用并且也仅仅的触之即可的轻度应用.

经验不足的程序员可能尝试某个功能, 而不重新考虑其代码的结构. 例如:

  • 在执行协程和并发操作还不够昂贵时无法证明开销/成本是合理的
  • 在同一路径中将 channels, atomics, waitgourps 和各种锁混合在一起, 而不是进行重组以同一和最小化同步
  • 绝对的将所有内容都设置为可模拟的接口, 或以防以后需要复用
  • 由于假设传递指针意味着 "快速", 因此将所有内容都传递为引用/指针
  • 当不必要时将多种数据类型插入 []interface{} 或 map[string]interface{}, 然后在需要时封疯狂切换并检查所有位置来获取和使用数据

不要理解错我的意思, 那些功能很好. 但是学习何时使用它们是 程序员/gopher 们旅程的一部分. 当然并非总是如此, 根据我的经验, 人们的品味似乎越来越趋于简洁.

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://www.reddit.com/r/golang/comments...

译文地址:https://learnku.com/go/t/47211

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!