import

  • 单行import不建议用圆括号包裹
  • 按照官方包,NEW LINE,当前工程包,NEW LINE,第三方依赖包顺序引入

    1. import (
    2. "context"
    3. "string"
    4. "greet/user/internal/config"
    5. "google.golang.org/grpc"
    6. )

函数返回

  • 对象避免非指针返回
  • 遵循有正常值返回则一定无error,有error则一定无正常值返回的原则

错误处理

  • error必须处理,如果不能处理就必须抛出。
  • 避免下划线(_)接收error

函数体编码

  • 建议一个block结束空一行,如iffor

    1. func main (){
    2. if x==1{
    3. // do something
    4. }
    5. fmt.println("xxx")
    6. }
  • return前空一行

    1. func main (){
    2. if x==1{
    3. // do something
    4. }
    5. fmt.println("xxx")
    6. }

原文链接

https://go-zero.dev/cn/coding-spec.html