首页 > 学院 > 开发设计 > 正文

Go语言学习(2)-常量

2019-11-10 20:35:34
字体:
来源:转载
供稿:网友

常量

1、常量定义 通过const关键字

func main(){ const pi float64 = 3.1415926 const zero = 0.0 //无类型浮点常量 const( size int64 =1024 eof = -1 ) const u,v float32 =0,3 //多重赋值 const a,b,c = 3,4,"foo" //常量的赋值是一个编译器行为,所以右值不能出现任何需要运行期才能得出结果的表达式}

2、预定义常量 Go语言预定义了这些常量:true、false、iota iota比较特殊,可以被认为是一个可被编译器修改的常量,在每个const关键字出现时被重置为0,然后在下一个const出现之前,每出现一次iota,所代表的的数字就会自动增1。

func main(){ const ( // iota被重设为0 c0 = iota // c0 == 0 c1 = iota // c1 == 1 c2 = iota // c2 == 2 ) const ( a = 1 << iota // a == 1 (iota在每个const开头被重设为0) b = 1 << iota // b == 2 c = 1 << iota // c == 4 ) const ( u = iota * 42 // u == 0 v float64 = iota * 42 // v == 42.0 w = iota * 42 // w == 84 ) const x = iota // x == 0 (因为iota又被重设为0了) const y = iota // y == 0 (同上) //如果两个const的赋值语句的表达式是一样的,那么可以省略后一个赋值表达式。因此,上 //面的前两个const语句可简写为: const ( // iota被重设为0 c00 = iota // c00 == 0 c01 // c01 == 1 c02 // c02 == 2 ) const ( a0 = 1 <<iota // a0 == 1 (iota在每个const开头被重设为0) b0 // b0 == 2 c0 // c0 == 4 )}

3、枚举 Go语言不支持enum关键字 下面是常规的枚举表示法,其中定义了一系列的整型常量

func main(){ const ( Sunday = iota Monday Tuesday Wednesday Thursday Friday Saturday numberOfDays // 这个常量没有导出,由于是小写字母开头的 )// 同Go语言的其他符号(symbol)一样,以大写字母开头的常量在包外可见。// 以上例子中numberOfDays为包内私有,其他符号则可被其他包访问。}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表