目录 搜索 介绍指导原则指向 interface 的指针Interface 合理性验证接收器 (receiver) 与接口零值 Mutex 是有效的在边界处拷贝 Slices 和 Maps接收 Slices 和 Maps返回 slices 或 maps使用 defer 释放资源Channel 的 size 要么是 1,要么是无缓冲的枚举从 1 开始使用 time 处理时间错误类型错误包装处理类型断言失败不要 panic使用 go.uber.org/atomic避免可变全局变量避免在公共结构中嵌入类型避免使用内置名称避免使用 `init()`追加时优先指定切片容量主函数退出方式(Exit)性能优先使用 strconv 而不是 fmt避免字符串到字节的转换指定容器容量规范一致性相似的声明放在一组import 分组包名函数名导入别名函数分组与顺序减少嵌套不必要的 else顶层变量声明对于未导出的顶层常量和变量,使用_作为前缀结构体中的嵌入使用字段名初始化结构体本地变量声明nil 是一个有效的 slice缩小变量作用域避免参数语义不明确(Avoid Naked Parameters)使用原始字符串字面值,避免转义初始化结构体初始化 Maps字符串 string format命名 Printf 样式的函数编程模式表驱动测试功能选项LintingLint Runners 暂无相关搜索结果! 本文档使用 topgoer 发布 import 分组 导入应该分为两组: 标准库其他库 默认情况下,这是 goimports 应用的分组。 BadGood import ( "fmt" "os" "go.uber.org/atomic" "golang.org/x/sync/errgroup" ) import ( "fmt" "os" "go.uber.org/atomic" "golang.org/x/sync/errgroup" ) 最后编辑: kuteng 文档更新时间: 2021-05-09 20:12 作者:kuteng
导入应该分为两组: 标准库其他库 默认情况下,这是 goimports 应用的分组。 BadGood import ( "fmt" "os" "go.uber.org/atomic" "golang.org/x/sync/errgroup" ) import ( "fmt" "os" "go.uber.org/atomic" "golang.org/x/sync/errgroup" ) 最后编辑: kuteng 文档更新时间: 2021-05-09 20:12 作者:kuteng