> For the complete documentation index, see [llms.txt](https://yangsx95.gitbook.io/notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://yangsx95.gitbook.io/notes/programming-language/golang/guan-jian-zi-yu-biao-shi-fu.md).

# 关键字与标识符

### 标识符命名访问规则

1. 由数字、字母、下划线组成
2. 不可以以数字开头、不能含有空格、区分大小写、不可以使用保留关键字
3. 见名知意
4. 下划线 `_`在go中是一个特殊的标志符，可以代表其他任何标志符，但是他对应的值将会被忽略，所以仅仅用作占位符

   注意，下划线变量不可以被使用
5. int也不是保留关键字，但是不建议使用 `var int int = 100`
6. 标识符的长度没有限制，但是不建议过长

***

**包：**

1. 包名与文件夹名称尽量相同
2. 程序入口也就是main方法，需要放到main包下，如果不放，不会得到可执行文件
3. 包的名称不要和标准库冲突，比如fmt
4. 导入包，包是由 `$GOPATH/src/`路径下计算的，所层级使用`/`分割

***

**变量、常量、函数：**

1. 尽量使用驼峰命名法
2. 如果首字母是大写，可以被其他包访问，如果首字母小写，则说明是私有的

## 关键字

关键字是程序发明者规定的含有特殊含义的单词，又叫保留字，go语言一共25个关键字

![image-20210910155459738](https://2351062869-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7b2CdwBN9liniVJpfEAc%2Fuploads%2Fgit-blob-153a3cdbf5ccd2414307411f691528b6a19ae5ec%2Fimage-20210910155459738.png?alt=media)

## 预定义标识符

含基础数据类型以及系统内嵌函数在内一共36个预定义标识符，尽量不要使用：

![image-20210910155529223](https://2351062869-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F7b2CdwBN9liniVJpfEAc%2Fuploads%2Fgit-blob-c6ce61d53a90c2eb971f95ffb93919fbfca0ace1%2Fimage-20210910155529223.png?alt=media)
