作为一个 Go 语言开发工程师,总是在入门、深入、撕提案时能够听到各种带有 Go 特色的话语,例如:少即是多(less is more),非常有趣。

今天带来了 Go 语言之父 Rob Pike 在 2015 年分享的主题《Go Proverbs[1]》,他在该主题中讲了的 10+ 条 Go 谚语,希望大家可以用上。

核心理念是:简单、诗意、简洁(Simple, Poetic, Pithy)。

谚语

  1. 不要通过共享内存来通信,通过通信来共享内存(Don't communicate by sharing memory, share memory by communicating)。

  2. 并发不是并行(Concurrency is not parallelism)。

  3. 通道是协调的,互斥是串行的(Channels orchestrate; mutexes serialize)。

  4. 接口越大,抽象性越弱(The bigger the interface, the weaker the abstraction)。

  5. 让零值变得有用(Make the zero value useful)。

  6. interface{} 什么也没说(interface{} says nothing)。

  7. Gofmt 的风格没有人喜欢,但 Gofmt 却是大家的最爱(Gofmt's style is no one's favorite, yet gofmt is everyone's favorite)。

  8. 复制一点总比依赖一点好(A little copying is better than a little dependency)。

  9. Syscall 必须始终用 build 标签来保护(Syscall must always be guarded with build tags)。

  10. Cgo 必须始终用构建标签来保护(Cgo must always be guarded with build tags)。

  11. Cgo 不是 Go(Cgo is not Go)。

  12. 使用 unsafe 包没有任何保证(With the unsafe package there are no guarantees)。

  13. 清晰的比聪明的好(Clear is better than clever)。

  14. 反射从来不是清晰的(Reflection is never clear)。

  15. 错误就是价值(Errors are values)。

  16. 不要只是检查错误,要优雅地处理它们(Don't just check errors, handle them gracefully)。

  17. 设计架构,命名组件,记录细节(Design the architecture, name the components, document the details)。

  18. 文档是为用户准备的(Documentation is for users)。

  19. 不要恐慌(Don't panic)。

总结

Rob Pike 在演讲中所涉及到的这 18 条谚语,是他常年在计算机软件领域开发和设计 Go 时所积累下来的经验。你知道多少条呢?

希望今天这篇文章能够对你有所帮助,大喊说出你最喜欢的!!!

推荐阅读

  • Go 之父:聊聊我眼中的 Go 语言和环境

  • 新提案:创建 Go 简单类型的指针表达式

  • 为什么 Go 语言能在中国这么火?

参考资料

[1]

Go Proverbs: https://www.youtube.com/watch?v=PAAkCSZUG1c

推荐阅读:

新提案:创建 Go 简单类型的指针表达式

资料下载

点击下方卡片关注公众号,发送特定关键字获取对应精品资料!

  • 回复「电子书」,获取入门、进阶 Go 语言必看书籍。

  • 回复「视频」,获取价值 5000 大洋的视频资料,内含实战项目(不外传)!

  • 回复「路线」,获取最新版 Go 知识图谱及学习、成长路线图。

  • 回复「面试题」,获取四哥精编的 Go 语言面试题,含解析。

  • 回复「后台」,获取后台开发必看 10 本书籍。

对了,看完文章,记得点击下方的卡片。关注我哦~ 

10+ 条 Go 官方谚语,你知道几条?相关推荐

  1. 英语谚语大全(约3000条)

    贡献22本经典英语口语教程                               英语谚语精选1000句(EnglishProverbCollection)   点击下载 英语_四六级口语考试练 ...

  2. 5千多条多分类谚语格言ACCESS数据库

    这个数据库收集了五千余条的民间谚语,并且提供了80多个分类.是你在人际聊天.文章写作中好的得力助手.下面会详细介绍各分类的记录数: 阿谀与奉承类(42).大小与多先类(63).饮食与烹饪类(68).穿 ...

  3. 黑苹果html5,黑苹果配置必备神器 Clover Configurator v5.10.0.0 官方中文原版

    Clover Configurator 是黑苹果系统配置Clover必备神器,您可以通过修改参数ACPI开始,您可以个性化开机方式,调整CPU性能,禁用某些驱动程序,等等.该实用程序还简化某些任务:可 ...

  4. 用 Python 写出这样的进度条,刷新了我对进度条的认知

    ❞ 1 简介 在日常运行程序的过程中常常涉及到「循环迭代」过程,对于执行时间很短的程序来说倒无所谓,但对于运行过程有明显耗时的涉及「循环迭代」的程序,为其加上「进度条」(progress bar),是 ...

  5. android 自定义 进度条 旋转,Android_Android ProgressBar进度条使用详解,ProgressBar进度条,分为旋转进 - phpStudy...

    Android ProgressBar进度条使用详解 ProgressBar进度条,分为旋转进度条和水平进度条,进度条的样式根据需要自定义,之前一直不明白进度条如何在实际项目中使用,网上演示进度条的案 ...

  6. 多线程完成连续打印1-100的数字, 要求一条线程专门打印奇数,另外一条专门用来打印偶数

    import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.Executors; import java.u ...

  7. mysql执行一条语句会加锁吗_一条简单的更新语句,MySQL是如何加锁的?

    看如下一条sql语句: # table T (id int, name varchar(20)) delete from T where id = 10: MySQL在执行的过程中,是如何加锁呢? 在 ...

  8. 工具条研究手记(2) - 认识CToolBar工具条类

    工具条研究手记(2) - 认识CToolBar工具条类 作者:佚名    文章来源:VC知识库    点击数: <script src="http://www.91tech.net/A ...

  9. 汇编习题之某机指令字长16位,共有单地址指令和双地址指令两类,若每个地址字段均为5位,且双地址指令已用了X条,问单地址指令最多可以有多少条?

    题目:某机指令字长16位,共有单地址指令和双地址指令两类,若每个地址字段均为5位,且双地址指令已用了X条,问单地址指令最多可以有多少条? 明确两点: 机器指令字长为16位 只有单地址指令和双地址指令两 ...

最新文章

  1. 2022-2028年中国六氟化硫行业市场研究及前瞻分析报告
  2. html5 ar开发,HTML5 WebAR开发
  3. GetWindowRect和GetClientRect(得到窗口坐标)
  4. 学python是看书还是看视频-Python与豆瓣读书
  5. qt 中常见错误汇总
  6. jQuery中json对象与json字符串互换
  7. Echarts初体验
  8. 现代GPU的体系结构
  9. vue render 渲染html,详解vue渲染函数render的使用
  10. 多个python则可以通过指定python的位置来升级或安装对应的库
  11. 字节跳动面试分享:java从入门到精通第五版答案位置
  12. 【Baby Maniacs】mmd动作+镜头下载
  13. MarkDown在线编辑器(支持公众号知乎)
  14. 前端工程师实习面试总结
  15. java libraries在哪_java.library.path在哪? | 学步园
  16. CCS Uniflash烧写CC3200开发板的简易操作笔记
  17. 系统分析与设计个人总结
  18. 极客战记[森林]CHALLENGE:MAGIC EXAM
  19. centos7环境下配置bond1
  20. 亚马逊卖家怎样让茶叶乘风破浪,远销海外?-跨境创业找众光

热门文章

  1. tms320vc5416c语言编程,TMS320VC5416与CAN总线的接口设计及软件编程
  2. WinRAR压缩软件去除广告
  3. JS逆向之国家企业信用信息公示系统Cookie传递
  4. 感谢网友,让我实现了Zbrush笔刷自由
  5. S7-1200PLC定时器计数器的应用
  6. 天池大数据众智平台笔记SQL(一)
  7. Unity之UGUI-特效遮挡问题2.0
  8. mysql 1500万_1500万的天价配送费?懂这行代码的人送外卖永远不会吃亏!
  9. 解决 VMware 中安装虚拟机时屏幕显示不全的问题
  10. 表示学习(Representation Learning)