03.常量与枚举

  定义常量

不需要像其他语言一样大写常量变量名,一定要赋值  

func consts() {
    const filename = "test.txt"
    const a, b = 3, 4
    var c int
    c = int(math.Sqrt(a*a + b*b))
    fmt.Println(filename, c)
}

也可包内定义,所有函数都可用

//也可包内定义,所有函数都可用
const filename = "test.txt"
func consts() {
    const a, b = 3, 4
    var c int
    c = int(math.Sqrt(a*a + b*b))
    fmt.Println(filename, c)
}

可定义到一个组内

func consts() {
    const (
        filename = "test.txt"
        a, b = 3, 4
    )
    var c int
    c = int(math.Sqrt(a*a + b*b))
    fmt.Println(filename, c)
}

 

特殊的常量--枚举类型

常规写法

func enums() {
    const (
        java  = 0
        python = 1
        golang = 2
    )
    fmt.Println(java, python, golang)
}

可以使用 iota 简化,实现自增

func enums() {
    const (
        java= iota
        python
        golang
    )
    fmt.Println(java, python, golang)
}

运行结果:

 复杂点的用法

func enums() {
    // b, kb, mb, gb, tb, pb
    const (
        b = 1 << (10 * iota)
        kb
        mb
        gb
        tb
        pb
    )
    fmt.Println(b, kb, mb, gb, tb, pb)
}

 

posted @ 2024-07-06 15:56  JJJhr  阅读(4)  评论(0编辑  收藏  举报