【Go基础】定义枚举

【Go基础】定义枚举,第1张

定义枚举 定义枚举 定义枚举相关资料
定义枚举
定义枚举使用const关键字 + ()当前面某个变量使用了iota后,该变量后面的变量都回给默认加上一个iota,不论你是否显式的写了出来iota的取值从0开始iota的累加机制是在=作用于结束后累加的(即:可理解为行级累加;同一行内的iota的值是一样的)
示例一:
import "fmt"

const (
	spring = "春"
	summer = "夏"
	autumn = "秋"
	winter = "冬"
)

func main() {
	fmt.Println("spring = ", spring) // 输出:spring =  春
	fmt.Println("summer = ", summer) // 输出:summer =  夏
	fmt.Println("autumn = ", autumn) // 输出:autumn =  秋
	fmt.Println("winter = ", winter) // 输出:winter =  冬

	const (
		a = "春"
		b = "夏"
		c = "秋"
		d = "冬"
	)
	fmt.Println("a = ", a) // 输出:a =  春
	fmt.Println("b = ", b) // 输出:b =  夏
	fmt.Println("c = ", c) // 输出:c =  秋
	fmt.Println("d = ", d) // 输出:d =  冬
}
示例二:使用iota关键字,自动(行级)累加
import "fmt"

const (
	spring = iota
	summer
	autumn
	winter
)

func main() {
	fmt.Println("spring = ", spring) // 输出:spring =  0
	fmt.Println("summer = ", summer) // 输出:summer =  1
	fmt.Println("autumn = ", autumn) // 输出:autumn =  2
	fmt.Println("winter = ", winter) // 输出:winter =  3

	const (
		a = iota + 5
		b
		c
		d
	)
	fmt.Println("a = ", a) // 输出:a =  5
	fmt.Println("b = ", b) // 输出:b =  6
	fmt.Println("c = ", c) // 输出:c =  7
	fmt.Println("d = ", d) // 输出:d =  8

	// iota累加机制,是基于行的,同一行内的iota值一样
	const (
		q, w = iota + 5, iota - 3
		e, r
	)
	fmt.Println("q = ", q, ",\tw = ", w) // 输出:q =  5 ,	w =  -3
	fmt.Println("e = ", e, ",\tr = ", r) // 输出:e =  6 ,	r =  -2

	const (
		v1 = iota + 5
		v2
		v3 = iota + 3
		v4 = iota + -1
	)
	fmt.Println("v1 = ", v1) // 输出:v1 =  5
	fmt.Println("v2 = ", v2) // 输出:v2 =  6
	fmt.Println("v3 = ", v3) // 输出:v3 =  5
	fmt.Println("v4 = ", v4) // 输出:v4 =  2
}


^_^ 整理自《Go语言区块链应用开发从入门到精通》高野 编著

^_^ 本文已经被收录进《程序员成长笔记》 ,笔者JustryDeng

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/995750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存