go语言中常量的用法
概念
Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。
罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)。
常量含义 :
go 语言中 常量表示固定的值,常量不能在赋予其他值,常量可以是全局常量,也可以是函数内部的局部常量。常量的值不可修改,常量表达式的值在编译期计算,而不是在运行期。存储在常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
常量使用const 定义
定义常量
package mainimport "fmt"func changl() { const x = 55 fmt.Println(x)}func main() { changl() 输出:55 }
修改常量,报错
package mainimport "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都会重新开始计算声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。