Go 语言是静态类型语言,因此变量(variable)是有明确类型的,编译器也会检查变量类型的正确性。在数学概念中,变量表示没有固定值且可改变的数。但从计算机系统实现角度来看,变量是一段或多段用来存储数据的内存。
声明变量的一般形式是使用 var 关键字
var age int
其中 var 是声明变量的关键字、 age 表示变量名称,int 表示变量类型。
当我们声明变量的同时给变量赋值,变量可以自动推断出变量类型。
var flag = false // 自动推断为 bool 类型
Go语言的基本类型有:
- bool
- string
- int、int8、int16、int32、int64
- uint、uint8、uint16、uint32、uint64、uintptr
- byte // uint8 的别名
- rune // int32 的别名 代表一个 Unicode 码
- float32、float64
- complex64、complex128
当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil 等。所有的内存在 Go 中都是经过初始化的。
命名建议
- 以字母或下划线开始,有多个字母、数字和下划线组合而成
- 区分大小写
- 使用驼峰拼写格式
- 局部变量优先使用短命
- 不要使用保留关键字
- 不建议使用与预定义变量、类型、内置函数相同的名字
- 转悠名词通常会全部大写,例如 parseURL
除 var 关键字外,还可使用更加简短的变量定义和初始化语法。
名字 := 表达式
需要注意的是,简短模式(short variable declaration)有以下限制:
- 定义变量,同时显式初始化
- 不能提供数据类型
- 只能用在函数内部