【Go基础】定义枚举

定义枚举


定义枚举

  • 定义枚举使用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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值