码迷,mamicode.com
首页 > 其他好文 > 详细

go 常量

时间:2020-01-05 22:49:31      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:pac   import   开始   fun   其他   位运算   ons   进入   ack   

含义 : 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都会重新开始计算

go 常量

标签:pac   import   开始   fun   其他   位运算   ons   进入   ack   

原文地址:https://blog.51cto.com/sdsca/2464519

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!