大咖助阵|叶剑峰:Go语言中常用的那些代码优化点
叶剑峰
该思维导图由 AI 生成,仅供参考
很高兴应编辑邀请,为 Tony Bai 老师的专栏写一篇加餐文章。Tony Bai 大佬是我很早在微博关注的一名 Go 先行者。他的《Gopher Daily》也是我经常学习阅读的 Go 语言资料之一。很高兴看到 Tony Bai 老师在极客时间也开了一个专栏,将他的经验分享出来。
这篇加餐,我主要想和你聊一聊 Go 语言中常用的一些代码优化点。在 Go 语言中,如果你不断地在一线写代码,一定多多少少都会有一些写代码的套路和经验。这些套路和经验可以帮助你在实际工作中遇到类似问题时,更成竹在胸。
所以这里,我想和你分享一下我个人在开发过程中看到和使用到的一些常用的代码优化点,希望能给你日常编码带来一些帮助。
第一点:使用 pkg/errors 而不是官方 error 库
其实我们可以思考一下,我们在一个项目中使用错误机制,最核心的几个需求是什么?我觉得主要是这两点:
附加信息:我们希望错误出现的时候能附带一些描述性的错误信息,甚至这些信息是可以嵌套的;
附加堆栈:我们希望错误不仅仅打印出错误信息,也能打印出这个错误的堆栈信息,让我们可以知道出错的具体代码。
在 Go 语言的演进过程中,error 传递的信息太少一直是被诟病的一点。使用官方的 error 库,我们只能打印一条简单的错误信息,而没有更多的信息辅助快速定位错误。所以,我推荐你在应用层使用 github.com/pkg/errors 来替换官方的 error 库。因为使用 pkg/errors,我们不仅能传递出标准库 error 的错误信息,还能传递出抛出 error 的堆栈信息。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Go语言代码优化是开发中的重要环节。本文介绍了一些常用的优化点,包括使用github.com/pkg/errors替换官方error库,以及在初始化slice时补全cap以提升程序性能。此外,文章还介绍了巧用Option写法初始化类和利用大括号控制变量作用域的技巧。这些优化点通过具体的代码示例和对比展示了实际应用和效果。通过本文的总结,读者可以快速了解Go语言中常用的代码优化点,为日常编码带来一些帮助。这些优化点是作者在工作和阅读开源项目中总结的经验,对于解决不同问题都具有实际应用的价值。文章内容丰富,对于Go语言开发者来说是一份宝贵的优化手册。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Tony Bai · Go 语言第一课》,新⼈⾸单¥59
《Tony Bai · Go 语言第一课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(6)
- 最新
- 精选
- __PlasticMan白老师,边长参数与函数选项模式的结合一般用什么方式?比如一个函数要传入printf风格的参数,还要添加默认参数
作者回复: 在第21讲 https://time.geekbang.org/column/article/460666 中有说明。
2024-01-25归属地:四川2 - 谢小路Option 写法,在设计模式中有个专用的名词称呼 —— 函数选项模式。2022-04-2416
- Darren这里面的With方式,感觉和设计模式中的构建者模式很类似2022-01-1926
- 青鸟飞鱼这总结太棒了,有个疑问,最后一个,既然那么多大括号,可以拆分成几个函数?这样子会不会更好点?2022-01-1936
- helloxiaomin手动点赞,很实用👍2022-01-195
- lesserror学到了,谢谢叶老师。2022-02-021
收起评论