在golang中并没有枚举类型,可以使用const来模拟枚举类型。 (推荐学习:go)
枚举可以根据integer、long、short或byte中的任意一种数据类型来创建一种新型变量。这种变量能设置为已经定义的一组之中的一个,有效地防止用户提供无效值。该变量可使代码更加清晰,因为它可以描述特定的值。
type policytype int32const ( policy_min policytype = 0 policy_max policytype = 1 policy_mid policytype = 2 policy_avg policytype = 3)}
这里定义了一个新的类型policytype,并且定义了4个常量(policy_min, policy_max, policy_mid, policy_avg),类型是policytype。
使用举例
func foo(p policytype) { fmt.printf("enum value: %v\n", p)}func main() { foo(policy_max)}
运行结果
$ go build && ./mainenum value: 1
以上就是golang 为什么没有枚举的详细内容。
