系统整理GO语言的命名规范(表格方式)

本文概述了Go语言中包名、变量、常量、函数、类型和接口的命名规则,强调了驼峰命名法、大小写使用、导出与非导出的区别,以及错误处理中的特殊约定。
摘要由CSDN通过智能技术生成

目录

1. 包名(Package Names)

2. 变量名(Variable Names)

3. 常量名(Constant Names)

4. 函数名(Function Names)

5. 类型名(Type Names)

6. 接口名(Interface Names)

7. 错误处理


写了长时间的go发现自己还没有系统的整体go的命名规范,这里整理一下

类别方式实例
局部变量和函数参数小写字母开头的驼峰命名localVariable
导出的变量名、类型、函数、方法首字母大写的驼峰命名ExportedVariable
包命名小写不使用下划线或者驼峰式、单数形式user
接口命名单个方法名称加上er|etcReader
错误处理错误自负不应该有标点符号和大写字符(除专有名词)file not found
常量全大写、下划线分割MAX_SIZE
缩略词全大写或全小写HTTP | http
文件全部使用小写字母,不该用驼峰命名,使用下划线htttp_server.go

1. 包名(Package Names)

  • 简洁且有意义:包名应该简短、有意义,通常使用单个单词。如果必须使用多个单词,一般采用简洁的形式,避免使用下划线或驼峰命名法。
  • 小写:Go中的包名都是小写的,不使用大写字母或下划线。
  • 避免冗余:包名不应该包含重复的词语,比如http/httpclient就是不好的命名,应该使用http/client

2. 变量名(Variable Names)

  • 驼峰命名法:局部变量通常使用驼峰命名法(CamelCase),首字母小写,例如localVariable
  • 简短且有意义:变量名应该简短且富有描述性。对于临时变量或局部变量,可以使用短名字,如ix
  • 避免使用下划线:除非有特别的理由,一般不使用下划线分隔变量名中的单词。

3. 常量名(Constant Names)

  • 驼峰命名法或全大写:对于常量名,可以使用驼峰命名法,也可以全部大写并使用下划线分隔单词,尤其是对于公开的(exported)常量。例如,MaxSizeMAX_SIZE
  • 有意义的命名:常量名应该具有描述性,清晰表达常量的用途。

4. 函数名(Function Names)

  • 驼峰命名法:函数名使用驼峰命名法,首字母大写表示函数是可导出的(public),首字母小写表示函数是非导出的(private)。例如,ExportedFunction是导出的,而internalFunction是非导出的。
  • 动词+名词组合:如果可能的话,函数名应该由动词和名词组合而成,清晰地描述函数的行为和作用对象,例如CalculateTotal

5. 类型名(Type Names)

  • 驼峰命名法:类型名使用驼峰命名法,首字母大写表示类型是可导出的,首字母小写表示类型是非导出的。例如,StructName是导出的,而internalStruct是非导出的。
  • 名词:类型名通常是名词或名词短语,例如CustomerEmployeeList

6. 接口名(Interface Names)

  • 单个方法的接口名以'er'结尾:如果接口只包含一个方法,则其名字通常以'er'结尾,根据方法名命名,如ReaderWriterFormatter等。
  • 清晰描述功能:对于包含多个方法的接口,应选择能够清楚描述其功能的名字。

7. 错误处理

  • error类型的变量命名:通常使用err作为错误类型变量的名字。

 

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏目艾拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值