雪花新聞

關於Golang中的iota

快速一覽

iota是Golang中提供的一個簡化常量和枚舉編程的標識符,合理的使用這個標識符可以讓代碼變得更簡潔,省去大量的不必要的代碼。

比如下面的這個常量定義

const (
    a = 1
    b = 2
    c = 3
)

使用iota可以寫成如下的方式

const (
  a = iota + 1
  b
  c
)

剖析

iota的用法很靈活,但是隻要掌握了它的基本規則,就可以很熟練地使用它

擴展

有了上面的三個規則,我們可以列舉一些非常規但是合法的方式,你會發現,這些方式都離不開以上的規則。

跳過iota遞增的某些值

const (
    a = iota               // a = 0
    _                      // 跳過這個ConstSpc,但是iota會加1
    b, c = iota, iota * 2  // iota=2
  )
// a=0, b=2, c=4

使用分號,在一行指定多個ConstSpec

const (
    a = iota               // a = 0
    b = iota; c = iota     // b = 1, c = 2
  )

在上面的例子中,雖然 bc 在同一行上,但是他們是兩個不同的ConstSpec,所以iota也是不一樣的。

有疑問加站長微信聯繫

相關文章