在Go语言中并没有提供enum类型的定义,但可以通过const来实现枚举类型
package main
import "fmt"
type EnumType int // 定义枚举类型
const (
_ EnumType = iota // 根据iota特性定义枚举类型常量
LOGIN
REG
)
func (t EnumType) String() string { // 枚举类型String方法定义
switch t {
case LOGIN:
return "用户登录"
case REG:
return "注册"
default:
return "未知类型"
}
}
func main() {
fmt.Printf("%d\n", LOGIN) // Integer 1
fmt.Printf("%v\n", LOGIN) // String 用户登录
fmt.Println(LOGIN) // 用户登录
fmt.Println(int(LOGIN)) // 1
}