《Golang 编码建议》
文章平均质量分 95
Golang 达成最佳实践的编码建议。
恋喵大鲤鱼
一条不止于编码的鱼。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go 编码建议——安全篇
进行指针操作时,必须判断该指针是否为 nil,防止程序 panic,尤其在进行结构体Unmarshal 时。在对 slice 进行操作时,必须判断长度是否合法,防止程序 panic。原创 2024-06-23 22:33:00 · 1005 阅读 · 0 评论 -
Go 编码建议——性能篇
!!! 提示:本文停止更新,内容已迁移至开源电子书 《Go 编码建议》,欢迎大家协同共建。代码的稳健、可读和高效是我们每一个 coder 的共同追求。本文将结合 Go 语言特性,为书写效率更高的代码,从常用数据结构、内存管理和并发,三个方面给出相关建议。话不多说,让我们一起学习 Go 高性能编程技法吧。标准库 reflect 为 Go 语言提供了运行时动态获取对象的类型和值以及动态创建对象的能力。反射可以帮助抽象和简化代码,提高开发效率。Go 语言标准库以及很多开源软件中都使用了 Go 语言的反射能力,例如原创 2022-01-03 22:39:14 · 2303 阅读 · 5 评论 -
Go 编码建议——功能篇
文章目录1.枚举从 1 开始2.使用 time 处理时间参考文献1.枚举从 1 开始TODO2.使用 time 处理时间时间处理很复杂。关于时间的错误假设通常包括以下几点:(1)一分钟有 60 秒(2)一小时有 60 分钟(3)一天有 24 小时(4)一周有七天(5)一年 365 天还有更多,具体可参考 Falsehoods programmers believe about time。例如,在一个时间点上加上 24 小时并不总是产生一个新的日历日。为什么常识性的认知是错误的呢?因为原创 2021-12-19 23:14:15 · 865 阅读 · 1 评论 -
Go 编码建议——风格篇
文章目录1.格式化2.代码行行长度换行方式不必要的空行3.括号和空格4.字符串5.import 规范参考文献1.格式化代码必须用 gofmt 格式化。2.代码行行长度一行代码不要超过120列,超过的情况,使用合理的换行方法换行。例外场景:import 模块语句struct tag工具生成代码换行方式采用惰性换行,换行前应尽可能的占满不留空位。// Badfmt.Printf("%v %v %v %v %v %v %v %v %v %v %v %v %v %v\n",0, 1,原创 2021-11-14 23:01:52 · 2383 阅读 · 0 评论 -
Go 编码建议
文章目录0.前言1.项目结构2.代码风格格式化换行括号和空格使用原始字符串字面值不必要的 elseimport 规范错误处理error 处理panic 处理recover 处理单元测试类型断言失败处理使用 time 处理时间结构体缩小变量作用域避免使用 init()主函数退出方式3.性能优先使用 strconv 而不是 fmt指定 slice 容量指定 map 容量4.注释包注释函数注释结构体注释变量和常量注释类型注释4.命名规范包命名文件命名函数命名结构体命名接口命名变量命名常量命名方法接收器命名5.控制原创 2021-10-05 09:55:09 · 413 阅读 · 1 评论 -
Go 编码建议——项目布局
1.前言不管是什么语言,开发什么项目,一个稍大的项目,必然要面临如何管理项目结构布局的问题,因为一个简洁清晰的布局是项目可读的关键。有些语言自身提供了目录结构规范,但对于较为年轻的 Golang,目前官方团队并未提供权威规范。不过不用担心,我们依然有一个规范可以参考,那就是业界推崇的 Standard Go Project Layout。2.Go 项目布局标准你的项目结构布局看起来应该像下面这个样子。# Go 代码目录|--cmd 可执行文件目录|--internal 私有库代码(仅本项目使用原创 2021-11-13 22:57:35 · 1259 阅读 · 0 评论
分享