这篇文章我们介绍下如何在go语言中定义枚举。
在实际的业务开发中,枚举类型是我们经常会涉及到的,因此枚举是一个必不可少的知识点,我们先来回顾一下在java中,我们如何定义枚举的,下面列举个性别的案例,我们定义如下:
性别男 1 性别女 2 性别未知 3
那么在java里面的实现就是:
package com.demo.enu; public enum Sex { man(1), woman(2), unknow(3); Sex(int sexCode) { this.sexCode = sexCode; } int sexCode; public int getSexCode() { return sexCode; } }
在go语言里面我们如何定义上面这个性别的枚举案例呢?
其实在go语言里面定义枚举的时候,天生定义了一个关键词:iota,这个关键词可以看做是一个定义的初始变量,当首枚举定义为iota之后,后面的枚举变量就不需要再定义值了,他会直接实现自动递增的效果。下面我们使用go语言来定义下上面的性别案例,示例代码如下:
// Demo project main.go package main import ( "fmt" ) const ( man = iota + 1 woman unknow ) func main() { fmt.Println(man) fmt.Println(woman) fmt.Println(unknow) }
备注:
1、这里我们使用iota关键词的时候他初始值是0,这里我们需要初始值是1,那么就在第一个位置给当前初始值+1即可。
我们打印下go这个案例的实现效果:
可以看到实现和java一模一样的效果。男的枚举值是1,女的枚举值是2,未知性别的枚举值是3.
以上就是在go语言中定义枚举的案例。
备注:
1、定义枚举的话,我们使用iota关键词即可。
2、所有的没觉都要放在const 常量组里面。
3、iota的初始值是0,如果需要初始化修改的话,需要使用策略。
4、iota在常量组里面默认是自动+1的步长。
还没有评论,来说两句吧...