go 常量

水滴石川1 · · 625 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:水滴石川1

查看原文:go 常量

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

625 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传