标识符

概念

标识符是编程时所使用的名字,用于给变量、常量、函数、类型、接口、包等进行命名。

命名规则

自定义标识符的命名规则:

  • 只能由26个字母、数字、下划线_ 组成
  • 只能由字母或下划线开头,不能数字开头
  • 不能包含空格
  • 不能使用Go语言保留关键字、预定义标识符

预定义标识符

  • 内置常量:true、false、nil、iota
  • 内置类型:bool、byte、rune、int、int8、int16、int32、int64、uint、uint8、unit16、unit32、unit64

    uintptr、float32、float64、complex64、complex128、string、error

  • 内置函数:make、len、cap、new、append、copy、close、delete、complex、real、imag、panic、recover

  • 空白标识符:_

内置关键字

  • 声明:import、package
  • 实体声明和定义:chan、const、func、interface、map、struct、type、var
  • 流程控制:break、case、continue、default、defer、else、fallthrough、for、go、goto、 if、range、return、select、switch

案例

正确案例:
hello
xrgo
work_dir
userName
imageTag
错误案例:
8user — 错误:不能以数字开头
ab cd — 错误:不能包含空格
user-Name — 错误:不能包含-,只能包含字母、数字、下划线

_ — 错误:不能使用预定义标识符

Go 语言提供一些内置关键字、预先定义的标识符,在自定义标识符时应避免使用:

注意事项

  • Go语言中严格区分大小写,username 和 userName 表示不同的标识符
  • 下划线 _ 在Go中是一个特殊标识符,称为空标识符。可以代表任何其他标识符,但是其对应的值会被忽略(例如用于忽略某个返回值)

所以 _ 仅能用作于占位符使用,而不能单独作为自定义标识符使用

  • 建议使用驼峰式命名,userName、imageTag、userPasswd
  • 如果标识符(变量、常量、函数)名称首字母大写,则可以被其他的包访问

如果首字母小写,则只能在本包中使用。(可以简单理解为:首字母大写为公开的,首字母小写为私有的;在Go中没有public、private等关键字)