变量与常量
变量声明
Go 提供三种变量声明方式:
Tip
实践中优先使用 := 短声明;需要显式指定类型或声明包级变量时使用 var。
可以在一条语句中声明多个变量:
基本数据类型
零值
Go 中变量声明后若未赋值,会被自动初始化为该类型的零值,不存在"未定义"状态:
类型转换
Go 没有隐式类型转换,不同类型之间的运算必须显式转换:
Warning
整数与字符串之间没有直接的类型转换语法,必须使用 strconv 包或 fmt.Sprintf。数值转换可能发生精度丢失或溢出,需自行确认取值范围。
常量
常量使用 const 声明,编译期确定取值:
iota:枚举的惯用写法
iota 是常量组中的自增计数器,从 0 开始,每换一行加一:
省略表达式的行会沿用上一行表达式,因此常见于位运算枚举:
小结
- 优先使用
:=短声明;var用于包级变量或显式类型。 - 变量必有零值;类型转换必须显式进行。
- 枚举场景使用
const+iota组合。