標準愚痴出力

個人的なIT作業ログです。もしかしたら一般的に参考になることが書いているかもしれません(弱気

GoのEnum表現は、go:generate + stringer の出番?

主旨が違うかもしれないんだけど、そういうのは go:generate + stringer の出番と違うかなと思った。

package main

import "fmt"

type SkuNameEnum int

//go:generate stringer -type=SkuNameEnum

const (
    Free SkuNameEnum = iota
    PerNode
    Premium
    Standalone
    Standard
    Unlimited
)

func main(){
    for i := Free ; i <= Unlimited ; i++ {
        fmt.Println( i )
    }
}
$ go generate
$ go build
$ ls
foo.go                skuname.exe*          skunameenum_string.go
$ skuname.exe
Free
PerNode
Premium
Standalone
Standard
Unlimited
$