本文摘自php中文网,作者(*-*)浩,侵删。

在c#、java等高级语言中,经常会用到枚举类型来表示状态等。
在golang中并没有枚举类型,可以使用const来模拟枚举类型。 (推荐学习:go)
枚举可以根据Integer、Long、Short或Byte中的任意一种数据类型来创建一种新型变量。这种变量能设置为已经定义的一组之中的一个,有效地防止用户提供无效值。该变量可使代码更加清晰,因为它可以描述特定的值。
1 2 3 4 5 6 | 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。
使用举例
1 2 3 | func foo(p PolicyType) {
fmt.Printf("enum value: %v\n", p)}func main() {
foo(Policy_MAX)}
|
运行结果
1 2 | $ go build && ./main
enum value: 1
|
以上就是golang 为什么没有枚举的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
go - 使用 defer 函数 要注意的几个点
go 语言入门(一)
golang判断map中key不存在的方法
golang有类吗
如何用 go 语言写出好用的 http 中间件?
go get下载包失败问题
手撸golang 基本数据结构与算法 栈
手撸golang go与微服务 chatserver之2
golang中的切片与gc
dbatool-dodba
更多相关阅读请进入《golang》频道 >>
老貘
一个与时俱进的Go编程知识库。
转载请注明出处:木庄网络博客 » golang 为什么没有枚举