在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
}