go 常量

含义 : go 语言中 常量表示固定的值,常量不能在赋予其他值

常量的定义,使用const 定义

定义常量

package main

import "fmt"

func changl()  {
    const x = 55
    fmt.Println(x)
}

func main()  {
    changl()

    输出:55 
}

修改常量,报错

package main

import "fmt"

func chang1()  {
    const x = 55
    x = 34
    fmt.Println(x)
}

func main()  {
    chang1()

输出:
报错  cannot assign to x
}

在const 使用iota

func changl2()  {
    const(
        Monday = iota +1 
        Tue
        Wed
        Thu
        Fri
        Sat
        Sun
    )
    fmt.Println(Monday,Tue,Wed,Thu,Fri,Sat,Sun)
}

在主函数中调用
func main() {
changl2()

}

输出内容:
1 2 3 4 5 6 7

iota 从0开始

在常量中使用 iota 可以进行位运算

func changl3()  {
    const(
        Open = 1 << iota  // 相当2的0 次方
        Close //  位移1位 相当与 2 的1次方,以下相同
        Pending 
        Crashing
    )
    fmt.Println(Open,Close,Pending,Crashing)
}

在主函数中调用
输出 1 2 4 8

iota 使用总结

  • iota只能被使用在const限定中,相当于一个常量的计数器
  • iota相当于一个枚举值,默认从0开始,在一个const中,会进行+1,
  • iota不会因为const中被赋值了固定值,就不再增加,const中每有一个常量就+1,例如 x和y ,y并没有因为x被赋值为10,就是2,而是3
  • 每次进入一个新的const,iota都会重新开始计算

猜你喜欢

转载自blog.51cto.com/sdsca/2464519
今日推荐