您的位置 首页 技术

golang 为什么没有枚举

在c#、java等高级语言中,经常会用到枚举类型来表示状态等。 在golang中并没有枚举类型,可以使用const来模拟枚举类型。 (推荐学习:go) 枚举可以根据Integer、…

在c#、java等高级语言中,经常会用到枚举类型来表示状态等。

在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 为什么没有枚举的详细内容,更多请关注24课堂在线网其它相关文章!

本文来自网络,不代表24小时课堂在线立场,转载请注明出处:https://www.24ketang.cn/21711.html

为您推荐

返回顶部