Go语言的大程序都从小的基本组件构建而来。
变量存储值简单表达式通过加减操作合并成为大的基本类型通过数组和结构体进行聚合表达式通过if和for等控制语句来决定执行的顺序语句被组织成函数用于隔离和复用函数组织成源文件和代码包Go中函数、变量、常量、类型、语句标签和包的名称都遵循如下规则:名称的开头是一个字母(Unicode中的字符即可)或者下划线,后面可以跟任意数量的字母、数字和下划线,对大小写敏感。
Go有25个关键字:只能用在语法允许的地方:
| 字母顺序 | 关键字 |
|---|---|
| b | break |
| c | case、chan、const、continue |
| d | default、defer |
| e | else |
| f | func、fallthrough、for |
| g | go、goto |
| i | interface、if、import |
| m | map |
| p | package |
| r | range、return |
| s | select、struct、switch |
| t | type |
| v | var |
Go有30多个内置的预声明的常量、类型和函数:
| 种类 | 关键字 |
|---|---|
| 常量 | true、false、iota、nil |
| int类型 | int、int8、int16、int32、int64 |
| unit类型 | uint、uint8、unit16、uint32、unit64、uintptr |
| float类型 | float32、float64、complex64、conplex64 |
| 其他类型 | bool、byte、rune、string、error |
| 函数 | make、len、cap、new、append、copy、close、delete、complex、real、imag、panic、recover |
这些名称不是预留的,可以在声明中使用它们(即对这些名称进行重声明),但是这样是有冲突风险的。
实体的第一个字母是否大写决定了其可见性是否跨包。如fmt包中的Printf函数,包名总是小写字母组成。
名称的长度没有限制,通常作用域越大,就是越长且有意义的名称。当由多个单词组成时,通常采用驼峰式的风格,而不是下划线。当单词中包含首字母缩写组成的单词时(如ASCII、HTML这样的),通常使用相同的大小写(全大写或全小写)。