一、标识符
标识符是程序员定义的具有特定含义名词,如常量名、变量名和函数名等等
Go语言的标识符组成成分:字母、数字和下划线_,并且只能以字母和_开头,如ab3,_ab3
二、关键字
Go语言中预先定义好的25个关键字:
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
以及37个保留字:
Constants: true false iota nil
Types: int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
Functions: make len cap new append copy close delete
complex real imag
panic recover
三、变量
程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量,但是如果我们直接在代码中通过内存地址去操作变量的话,代码的可读性会非常差而且还容易出错,所以我们就利用变量将这个数据的内存地址保存起来,以后直接通过这个变量就能找到内存上对应的数据了。
1. 声明
// 标准声明:var 变量名 变量类型
var name string
// 批量声明:
var (
a string
b int
)
2. 初始化
var name string = "Go"
// 类型推导:
var name = "Go"
// 一次初始化多个变量:
var name, age = "Go", 10
// 短变量声明:
shortName := "Go"
// 匿名变量:
_ = "Go" // 匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。
四、常量
常量使用方式与变量极为相似,只是常量在定义的时候必须赋值。
1. 声明
const pi = 3.1415
// 多个常量一起声明
const (
a = "33"
b = 44
c // 如果省略了值则表示和上面一行的值相同
)
2. 常量计数器iota
iota
是go语言的常量计数器,只能在常量的表达式中使用。
iota
在const
关键字出现时将被重置为0。const
中每新增一行常量声明将使iota
计数一次(iota
可理解为const
语句块中的行索引)。 使用iota
能简化定义,在定义枚举时很有用。
const (
a = iota // 0
b // 1
_ // 跳过
c // 3
d = 100 // iota声明中间插值
e = iota // 5
)
const n = iota // 0
// 定义数量级 (这里的<<表示左移操作,1<<10表示将1的二进制表示向左移10位,也就是由1变成了10000000000,也就是十进制的1024。同理2<<2表示将2的二进制表示向左移2位,也就是由10变成了1000,也就是十进制的8。)
const (
_ = iota
KB = 1 << (10 * iota)
MB = 1 << (10 * iota)
GB = 1 << (10 * iota)
TB = 1 << (10 * iota)
PB = 1 << (10 * iota)
)
// 多个iota定义在一行
const (
a, b = iota + 1, iota + 2 // 1, 2; iota此处并未新增一行常量,iota == 0
c, d // 2, 3; iota + 1 = 2, iota + 2 = 3,iota == 1
e, f // 3, 4
)
有疑问加站长微信联系(非本文作者)