Go 语言标识符

优质
小牛编辑
150浏览
2023-12-01

Go 语言中的标识符和 C 语言中的标识符的含义样,是指程序员在程序中自己起的名字,变量名称、函数名称等

和 C 语言一样 Go 语言标识符也有一套 命名规则,Go语言标识符的命名规则几乎和C语言一模一样

  • 只能由字母(az、 AZ)、数字、下划线组成
  • 不能包含除下划线以外的其它特殊字符串
  • 不能以数字开头
  • 不能是Go语言中的关键字
  • 标识符严格区分大小写, test和Test是两个不同的标识符

和 C 语言标识符命名规则不同的是,Go 语言中_单独作为标识符出现时,代表 空标识符, 它对应的值会被忽略

package main
import "fmt"

func main() {
  // 将常量10保存到名称叫做num的变量中
  var num int = 10
  fmt.Println("num = ", num)

  // 忽略常量20,不会分配存储空间,也不会保存常量20
  //var _ int = 20
  //fmt.Println("_ = ", _) // cannot use _ as value

  // Go语言中如果定义了变量没有使用, 那么编译会报错(sub declared and not used)
  // 所以如果我们只使用了sum,没有使用sub会报错
  // 为了解决这个问题, 我们可以使用_忽略sub的值
  //var sum, sub int = calculate(20, 10)
  var sum, _ int = calculate(20, 10)
  fmt.Println("sum = ", sum)

}

func calculate(a, b int)(int, int)  {
  var sum int = a + b
  var sub int = a - b
  return sum, sub
}

Go 语言默认的编码方式就是 UTF-8,所以 Go 语言支持中文,所以可以用中文作为标识符,非常非常非常不推荐

package main

import "fmt"

func main() {
    // 不会报错, 可以正常运行
    var 年龄 int = 33
    fmt.Println("年龄 = ", 年龄) // 33

    // 不会报错, 可以正常运行
    var 结果 int = 计算器(10, 20)
    fmt.Println("结果 = ", 结果) // 30
}
func 计算器(第一个变量, 第二个变量 int)int  {
    return 第一个变量 + 第二个变量
}

和 C 语言一样,标识符除了有 命名规则以外,还有标识符 命名规范

  • 规则必须遵守,规范不一定要遵守,但是建议遵守
  • Go 语言的命名规范和 C 语言一样,都是采用驼峰命名, 避免采用_命名
    • 驼峰命名:sendMessage / sayHello
    • _命名:send_message / say_hello