概念

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