golang 基础(8)枚举类型

zidea · · 10658 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

golang-5.png

枚举类型

func enums(){
    const(
        left = 0
        top = 1
        right = 2
        bottom = 3
    )
    fmt.Println(left,top,right,bottom)
}

在 go 语言中没特别地为枚举指定创建方法,可以通过定 func ,然后在其中创建静态变量来定义枚举。

const(
        left = iota
        top
        right
        bottom
    )

在 go 语言中可以使用 iota 来创建枚举,iota 为自增值,所以输出为

0 1 2 3

可以使用 _ 进行跳值,例如这里枚举用于俄罗斯方块,没有上我们就可以将 top 跳掉

const(
    left = iota
    _
    right
    bottom
)
// b, kb, mb, gb, tb, pb
    const (
        b = 1 << (10 * iota)
        kb
        mb
        gb
        tb
        pb
    )

    fmt.Println(b,kb,mb,gb,tb,pb)
    // 1 1024 1048576 1073741824 1099511627776 1125899906842624
Golang1.png

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:zidea

查看原文:golang 基础(8)枚举类型

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

10658 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传