Go中常量

一,const修饰的常量

1,常量只能是bool ,整型,string, 浮点型

2, const a int = value 或  const a = value  (显式与隐式)

3,多个一起声明

const  name1, name2 = value1, value2

4, const 用作枚举

 package main
  2 
  3 const(
  4     a  = 0
  5     b = 1
  6     c = 2
  7 )
  8 
  9 func main(){
 10     println(a, b, c)
 11 }   

root@localhost GO]# ./hello
0 1 2

二, iota修饰的特殊常量

1,iota可以看作是可以被编译器修改的常量

//有点枚举的意思
  1 package main
  2 
  3 const(
  4     a = iota
  5     b = iota  //(也可直接写成b)
  6     c = iota  //同上
  7 )
  8 
  9 func main(){
 10     println(a, b, c)
 11 }   

[root@localhost GO]# ./hello
0 1 2


//有点联合体的意思,共享同一块内存
package main
  2 
  3 const(
  4     a = 1
  5     b   
  6     c   
  7 )
  8 
  9 func main(){
 10     println(a, b, c)
 11 } 

[root@localhost GO]# ./hello
1 1 1
 1 package main
  2 
  3 const(
  4     a = 1 << iota       //iota为0, 1向左移0位,还是1
  5     b                   // b为1, iota为1, 1向左移动一位,为2
  6     c                   //c = 1, iota为1, 移动两位, 为4
  7     d = 10        
  8     e                    //d为10
  9     f = iota            // iota恢复计数
 10     g
 11 )
 12 
 13 func main(){
 14     println(a, b, c, d, e, f, g)
 15 }

root@localhost GO]# ./hello
1 2 4 10 10 5 6

猜你喜欢

转载自blog.csdn.net/weixin_42720316/article/details/89148234
今日推荐