Golang基本语法与使用—常量和枚举

Golang:常量和枚举

常量—恒定不变的量

相对于变量,常量是恒定不变的值,例如圆周率。

常量表示:

const pi = 3.1415
const e = 2.7123

常量 明和变量声明非常 似,只是把  var  换成了  const 

多常量声明:

const (
pi = 3.1415
e = 2.7123
)

常量在编译期确定,所以可以用于数组声明:

const size = 4
var arr [size]int

枚举—一组常量值

Go语言中现阶段没有枚举,可以使用常量配合 iota 模拟枚举。

type Weapon int

const (
Arrow Weapon = iota
Shuriken
SnoperRifle
FileN
NameN
)

func main() {
fmt.Println(Arrow, Shuriken, SnoperRifle,FileN,NameN) // 0 1 2 3 4

var weapon Weapon = NameN
fmt.Println(weapon) // 4
}

Array常量的类型标识为 Weapon 这样标识后,const下方的常量可是默认类型的,默认时默认使用前面指定 类型作为常量类型。该行使用iota进行常量值自动生成。iota起始值为0,一般情况下也是建议枚举从0开始,让每个枚举类型都有一个空值,方便业务和逻辑的灵活使用。

示例:标志位常量

const (
FlagNone = 1 << iota
FlagRed
FlagGreen
FlagBlue
)

func main() {
fmt.Printf("%d %d %d\n", FlagRed, FlagGreen,FlagBlue)
fmt.Printf("%b %b %b\n", FlagRed, FlagGreen, FlagBlue)

//2 4 8
//10 100 1000
}

猜你喜欢

转载自www.cnblogs.com/Wshile/p/12661228.html
今日推荐