[Go]程序结构——命名

Go语言中的函数名、变量名、类型名、语句标号和包名等所有命名,都遵循一个简单的命名规则:必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线,且大小写敏感


Go语言中类似if和switch的关键字有25个,关键字不能用于自定义名字,只能在特定语法结构中使用。

break      default       func     interface   select
case       defer         go       map         struct
chan       else          goto     package     switch
const      fallthrough   if       range       type
continue   for           import   return      var

此外,还有大约30多个预定义的名字,比如int和true等,主要对应内建的常量、类型和函数。

内建常量: true false iota nil

内建类型: int int8 int16 int32 int64
          uint uint8 uint16 uint32 uint64 uintptr
          float32 float64 complex128 complex64
          bool byte rune string error

内建函数: make len cap new append copy close delete
          complex real imag
          panic recover
这些内部预定义的名字并不是关键字,你可以在定义中重新使用它们。在一些特殊场景中重新定义它们也是有意义的,但是也要注意避免过度而引起的语义混乱。

如果一个名字是在函数内部定义,那么它就只在函数内部有效。如果实在函数外部定义,那么将在当前包的所有文件中都可以访问。

如果一个包级别的名字,其开头字母是大写,那么它将是导出的,即在可被定义它的包之外的包访问。例如fmt包的Printf函数,其名字是包级别的,且首字母大写,所以可以被fmt包外的其它包访问。

注意:包本身的名字一般总是用小写字母。

名字的长度没有逻辑限制,但是Go语言的风格是尽量使用短小的名字,对于局部变量尤其是这样。

通常来说,如果一个名字的作用域比较大,生命周期比较长,那么用长的名字将更有意义。

习惯上,Go语言程序员推荐使用 驼峰式 命名。当名字由几个单词组成时,优先使用大小写分割,而不是下划线分割。

而像ASCII和HTML这样的缩略词则避免使用大小写混合,它们可能被写为 html、HTML,但不会是Html。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值