在编程语言中, 标识符用于标识目的。换句话说, 标识符是程序组件的用户定义名称。在Go语言中, 标识符可以是变量名称, 函数名称, 常量, 语句标签, 包名称或类型。
例子:
package main
import "fmt"
func main() {
var name = "lsbin"
}
上例中共有三个标识符:
- main:包名称
- main:函数名称
- name:变量名
定义标识符的规则:有一些定义有效的Go标识符的有效规则。应该遵守这些规则, 否则, 我们将得到一个编译时错误。
- 标识符的名称必须以字母或下划线(_)开头。并且名称中可能包含字母" a-z"或" A-Z"或数字0-9, 以及字符" _"。
- 标识符的名称不能以数字开头。
- 标识符的名称区分大小写。
- 关键字不能用作标识符名称。
- 标识符名称的长度没有限制, 但是建议仅使用4到15个字母的最佳长度。
例子:
// Valid identifiers:
_geeks23
geeks
gek23sd
Geeks
geeKs
geeks_geeks
// Invalid identifiers:
212geeks
if
default
注意:
- 在Go语言中, 有一些预定义的标识符可用于常量, 类型和函数。这些名称不是保留的, 你可以在声明中使用它们。以下是预声明的标识符列表:
For Constants: true, false, iota, nil For Types: int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr, float32, float64, complex128, complex64, bool, byte, rune, string, error For Functions: make, len, cap, new, append, copy, close, delete, complex, real, imag, panic, recover
- 下划线字符(_)表示的标识符称为空白标识符。它用作匿名占位符而不是常规标识符, 并且在声明, 操作数和赋值中具有特殊含义。
- 允许从另一个包访问它的标识符称为导出标识符。导出的标识符是符合以下条件的那些标识符:
- 导出的标识符名称的第一个字符应为Unicode大写字母。
- 标识符应在包块中声明, 或者是变量名, 或者是方法名。
- 标识符的唯一性意味着标识符与程序或程序包中可用的另一组标识符是唯一的, 并且不会导出。