package main
import (
"fmt"
"math"
)
func main() {
// 常量定义
const a int = 123
const b,c = "str",false
const (
d int = 1
e string = "xi"
)
// const 数值可作为各种类型使用
const f,g = 3,4
var h int = int(math.Sqrt(f*f + g*g))
fmt.Println(a,b,c,d,e,h)
// 枚举类型
const (
aa = 0
bb = 1
cc = 2
dd = 3
)
fmt.Println(aa,bb,cc,dd)
// 枚举类型 iota
const (
a1 = iota
b1
c1
d1
)
fmt.Println(a1,b1,c1,d1) // iota 后面的值都会自增1
// 枚举类型iota中间跳过定义
const (
a2 = iota
_
c2
d2
)
fmt.Println(a2,c2,d2) // 0 2 3
// iota 还可以参与运算
const (
ap = 1 << (10 * iota)
bp
cp
)
fmt.Println(ap,bp,cp)
}