go:命名规则

Go 语言的命名规则强调简洁性、可读性和一致性,以下是核心规范及实践要点:


一、基础规则

  1. 可见性控制
    • 首字母大小写决定作用域:
      • 首字母大写表示导出(public),可被其他包访问(如 UserName)。
      • 首字母小写表示私有(private),仅当前包内可见(如 userName)。
  2. 命名组成
    • 仅包含字母、数字、下划线,且不以数字开头。
    • 避免使用 Go 保留字(如 functype)。

二、具体命名规范

1. 包名(Package)
  • 全小写,无下划线或驼峰(如 http 而非 httpHandlers)。
  • 简短且有描述性(如 json 替代 json_parser)。
2. 文件名
  • 全小写,单词间用下划线分隔(如 http_server.go )。
  • 测试文件以 _test.go 结尾(如 user_test.go )。
  • 平台特定文件加后缀(如 file_windows.go )。
3. 变量与常量
  • 变量:驼峰式(如 userName),布尔变量以 Has/Is/Can 开头(如 isValid)。
  • 常量:全大写,下划线分隔(如 MAX_SIZE)。
4. 结构体与接口
  • 结构体:名词或名词短语,驼峰式(如 UserInfo)。
  • 接口:以 er 结尾的行为描述(如 Reader)。
5. 函数与方法
  • 函数名:动词开头,描述功能(如 GetUser())。
  • 接收器(Receiver):通常用类型首字母简写(如 p *Point)。

三、特殊场景处理

  1. 缩写词处理
    • 私有变量中缩写词小写(如 dnsServer),导出时全大写(如 DNSServer)。
  2. 错误与测试
    • 错误描述小写且无标点结尾(如 invalid input)。
    • 测试函数以 Test 开头(如 TestAddUser())。

四、工具与风格建议

  • 使用 gofmt 自动格式化代码,统一缩进和括号位置。
  • 避免冗余命名(如 user.UserName 简化为 user.Name)。

通过遵循上述规则,可确保代码风格统一、易于协作和维护。更多细节可参考官方文档或社区规范(如 Go Code Review Comments )。

五.具体例子

1.大驼峰

例如:StuAge

适用于类、函数、结构体、公开访问

2.小驼峰

例如:stuAge

适用于私有属性、局部变量

3.蛇形

例如:stu_age

适用于mysql字段、前端、json

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值