1. 程式人生 > >四:go常量,iota

四:go常量,iota

10:常量
從形式上可以分為顯式和隱式
const name string = "leyangjun"  //顯式
const myName = "我的名字"         //隱式

組合:
const(
   cat string = "貓"
   dog = "狗"
)

單行定義多個:
const apple,banana string = "蘋果","香蕉"
const a,b = 1,"wa ha ha"
const bananaLen = len(banana)   -> fmt.Print(bananaLen) 輸出6,一箇中文佔3個位元組(UTF8)



iota的使用:
iota在const關鍵字出現的時候將被重置為0
每新增一行iota將會加1,(計數)
const a = iota
const b = iota    //a,b的常量值都重置為0

const(
   a = iota      //0
   b = iota      //1 ,計數開始加1
)

跳值使用法:
const(
   a = iota      //0
   _          //1
   b = iota      //2 ,跳值使用通過下劃線來完成
)

插隊使用法:
const(
   a = iota      //0
   b = 3.14     //3.14
   c = iota      //2,直接變成2
)


興趣輸出:
const(
   a = iota * 2  //0
   b = iota     //1
   c = iota      //2
)

const(
   a = iota * 2  //0
   b          //2
   c           //4 ,所有的值都 乘於2
)

const(
   a = iota * 2  //0
   b = iota * 3  //3
   c           //6
   d             //9 隱式使用法
)


//單行使用法
const(
   a,b = iota,iota+3  //0,3(同一行iota值是不加的)
   c,d                //1,4 (c引用的是iota,d引用的是iota+3)
   f = iota          //2 (恢復計數)
)