GoLang - const 與關鍵字 iota 介紹

Golang - const 與關鍵字 iota

在這裡,主要針對 const 與 iota 的功能進行介紹,首先先針對 const 分組部分特性進行說明,在延伸介紹 iota 的功能。

在宣告 const 採用分組方式宣告時,第一個常數可以用於預設值,假設他的值為 0 ,則在同一分組,其他常數預設會用前一個常數值。

以下方為例:

package main

import "fmt"

const (
  a = 9
  b
  c
  d
)

func main() {
  fmt.Println(a, b, c, d)
}

輸出:

9 9 9 9

Go 的 iota 關鍵字,它預設值會是 0,每次當 const 分組陸續呼叫宣告時,就會加 1,直到遇到下一個 const 宣告 iota 時,才會重置為 0。

如果常數宣告忽略值時,就會預設採用前一個值。

在下面我們做一個例子:

package main

import "fmt"

//宣告 const 分組時,用 iota 賦予值,籲社會從 0 開始,並且陸續+1
const (
  a = iota
  b = iota
  c           //忽略值時,會採用前一個值
  d
)

//重新宣告一個 const 時,iota 會重置為0
const e = iota  

const (
  f = iota
  g
  h
)

func main() {
  fmt.Println(a, b, c, d, e, f, g, h)
}

輸出結果

0 1 2 3 0 0 1 2