4.3 常量

Kesa...大约 1 分钟

4.3 常量

  • 使用 const 定义

  • 存储不会改变的数据

  • 数据类型只能为:布尔型、数字型、字符串

  • 格式:

    const indetifier [type] = value
    
    • 显式类型定义:const str string = "A"
    • 隐式类型定义:const Pi = 3.14
  • 常量值必须是编译期可确定的

4.3.1 赋值

const a, b, c = 1, "2", 3
const (
	q, w, e = 1, 2, 3
    z = 0
)
// \ 用于连接
const Ln2 = 0.693147180559945309417232121458\
			176568075500134360255254120680009

4.3.2 枚举

const (
	Unkown = 0
    Female = 1
    Male = 2
)

iota

iota 默认为 0,在新的一行被使用时自动加 1,没有赋值的常量使用上一行的表达式。

// 赋值一个常量时,之后没赋值的常量都会应用上一行的赋值表达式
const (
	a = iota  // a = 0
	b         // b = 1
	c         // c = 2
	d = 5     // d = 5   
	e         // e = 5
)

// 赋值两个常量,iota 只会增长一次,而不会因为使用了两次就增长两次
const (
	Apple, Banana = iota + 1, iota + 2 // Apple=1 Banana=2
	Cherimoya, Durian                  // Cherimoya=2 Durian=3
	Elderberry, Fig                    // Elderberry=3, Fig=4

)

// 使用 iota 结合 位运算 表示资源状态的使用案例
const (
	Open = 1 << iota  // 0001
	Close             // 0010
	Pending           // 0100
)

const (
	_           = iota             // 使用 _ 忽略不需要的 iota
	KB = 1 << (10 * iota)          // 1 << (10*1)
	MB                             // 1 << (10*2)
	GB                             // 1 << (10*3)
	TB                             // 1 << (10*4)
	PB                             // 1 << (10*5)
	EB                             // 1 << (10*6)
	ZB                             // 1 << (10*7)
	YB                             // 1 << (10*8)
)
上次编辑于:
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.2