Go 语言中的标识符

Posted by

在编程语言中,标识符用于识别目的。或者换句话说,标识符是程序组件的用户定义名称。在 Go 语言中,标识符可以是变量名、函数名、常量、语句标签、包名或类型。

例子:

package main
import "fmt"

func main() {

 var name = "GeeksforGeeks"
  
}

上例中共有三个标识符可用:

  • 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 大写字母。
标识符应该在包块中声明,或者是变量名,或者是方法名。
标识符的唯一性意味着该标识符与您的程序或包中可用的另一组标识符是唯一的,并且它们不会被导出。