Go语言基础之常量

Go 常量

相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。 常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。

const pi = 3.14
const g = 9.98

声明了pig这两个常量之后,在整个程序运行期间它们的值都不能再发生变化了。

多个常量也可以一起声明

const (
pi = 3.14
g = 9.98
)

const同时声明多个常量时,如果省略了值则表示和上面一行的值相同。

package main
import "fmt"
func main() {
const (
a = 10
b
c
)
fmt.Println(a, b, c)
}

iota

iota是go语言的常量计数器,只能在常量的表达式中使用。iotaconst关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。

const (
n1 = iota //0
n2 //1
n3 //2
n4 //3
)

几个常见的iota示例

使用_跳过某些值

const (
n1 = iota //0
n2 //1
_
n4 //3
)

iota声明中间插队

const (
n1 = iota //0
n2 = 100 //100
n3 = iota //2
n4 //3
)
const n5 = iota //0

每次出现 constiota的值都会重置为0

const (
_ = iota
KB = 1 << (10 * iota)
MB = 1 << (10 * iota)
GB = 1 << (10 * iota)
TB = 1 << (10 * iota)
PB = 1 << (10 * iota)
)

定义数量级 (这里的<<表示左移操作,1<<10表示将1的二进制表示向左移10位,也就是由1变成了10000000000,也就是十进制的1024。同理2<<2表示将2的二进制表示向左移2位,也就是由10变成了1000,也就是十进制的8。)

多个iota定义在一行

const (
a, b = iota + 1, iota + 2 //1,2
c, d //2,3
e, f //3,4
)
posted @   咕咚!  阅读(243)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示