[Go言語] constとiota面白い
September 21, 2013
この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。
連番を付ける
iotaを使うと連番が付けれる。
http://play.golang.org/p/w9KX9ry0Da
package main
import "fmt"
const (
a = iota
b
c
)
func main() {
fmt.Println(a, b, c)
}
iotaとシフトを組み合わせてみる
シフトと組み合わせると簡単にフラグが作れる。
http://play.golang.org/p/rHew6bPIWQ
package main
import "fmt"
type flag uint
const (
flag1 flag= iota << 1
flag2
flag3
flag4
bits = iota - 1
mask = 1<<bits - 1
)
func main() {
fmt.Printf("%b, %b, %b, %b, %d, %b", flag1, flag2, flag3, flag4, bits, mask)
}