golang 两种声明常量的方式
定类型
const pi float64 = 3.141
var a float32 = float32(pi)
var b float64 = pi
未定类型
未定类型常量具有弹性, 在可兼容的类型之间转换无需显示转换
const a = 1.23
var b float64 = a
var c float32 = a
常量和变量的不同
常量用于存储固定不变的值
常量声明时必须赋值
常量不能重新赋值
已声明的常量可以不使用
短声明语法不能用来声明常量
常量的数据类型只能是基本数据类型的其中一种 (bool string 数字 complex)
如果有新类型是基于基础类型的也可以定义为常量
在定义常量组时, 如果不提供初始值, 则表示将使用上一行的表达式
iota
const iota int = 0
iota 是golang中的一个关键词,
只能用于常量的声明中,
它在某些方面可以简化常量的声明