<3> go 枚举

原创 2015年11月19日 18:14:21

在go语言中,没有直接支持枚举的关键字,也就造成go没有直接枚举的功能。但是go提供另一种方法来实现枚举,那就是const+iota

// 实现枚举例子

type State int

// iota 初始化后会自动递增
const (
    Running State = iota // value --> 0
    Stopped              // value --> 1
    Rebooting            // value --> 2
    Terminated           // value --> 3
)

func (this State) String() string {
    switch this {
    case Running:
        return "Running"
    case Stopped:
        return "Stopped"
    default:
        return "Unknow"
    }
}

func main() {
    state := Stopped
    fmt.Println("state", state)
}
// 输出 state Running
// 没有重载String函数的情况下则输出 state 0

Go语言基础:变量,常量,Boolean,字符串,iota枚举

定义变量格式:var 变量名 变量类型Go变量声明很奇怪,把类型放在变量名后面,这点与我们常用的C、JAVA等不一样,没办法,得习惯。Go对于已声明但未使用的变量会在编译阶段报错,要求好严格,但的确应...
  • uudou
  • uudou
  • 2016年08月15日 14:56
  • 1336

hdu 5546 Ancient Go 枚举 DFS

Ancient Go Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) Tot...
  • LZK1997
  • LZK1997
  • 2017年08月07日 08:33
  • 289

R3暴力枚举驱动

  • 2014年03月31日 05:24
  • 17KB
  • 下载

枚举算法(判断n是否能被3,5,7整除)

枚举算法:也称穷举算法,它是编程中常用的一种算法。在解决某些问题的时候,可能无法按照一定规律从众多的候选答案中找出正确的答案。此时,可以从众多的候选解中逐一取出候选答案,并验证候选答案是否为正确的答案...

POJ 1038 Bugs Integrated, Inc. 状态压缩dp+3进制枚举

题意: 给你n*m的方格(1 分析: 很明显m才10所以我们可以压缩状态 我们另dp【i】【j】表示第i行状态为j的时候最多能放多少个方格; 我们是逐格递推的那么每一次我们都假设当前格子为矩形的左下角...

基于s3c6410 otg controller的gadget driver及usb枚举分 析

一.简介      一个完整的USB系统由两部分构成,即usb主机(usb host)和usb设备(usb device)。usb主机通常是指我们的pc机、具有host controller的嵌...

java高新技术【3】(枚举总结)

【1】枚举 ·一:为什么要有枚举    (1)问题:定义星期几或性别的变量,该这么定义?    假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday =0;      ...

【转】枚举进程:ring3->ring0

用google搜索了几天相关内容的资料,将所提到的逐一实现。哎,不禁感叹自己太菜了。居然用了几天的时间。没啥新思想、内容,只是总结,当然还有其他方法没总结到。但经常提到的ring3下的快照、psapi...
  • qjstc0
  • qjstc0
  • 2013年08月15日 20:16
  • 710
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:<3> go 枚举
举报原因:
原因补充:

(最多只允许输入30个字)