iota

iota

go語(yǔ)言中不支持枚舉定義,但是使用iota可以實(shí)現(xiàn)類似效果

枚舉定義

package main

import "fmt"

const (
    a int = iota
    b
)

func main() {
    fmt.Println(a, b)
}
0 1

iota實(shí)際被定義為0,僅配合const關(guān)鍵字來(lái)使用也僅在此const范圍中有效

iota原理

iota有兩個(gè)功能:

  • const范圍內(nèi)后續(xù)的常量復(fù)制相同的表達(dá)式
  • iota的初始常量為0,之后的iota的值在每次處理為常量時(shí)都會(huì)自增1

高級(jí)示例

package main

import "fmt"

const (
    a int = 1 << iota
    b
)

func main() {
    fmt.Println(a, b)
}
1 2
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iota是golang語(yǔ)言的常量計(jì)數(shù)器,只能在常量的表達(dá)式中使用。 iota在const關(guān)鍵字出現(xiàn)時(shí)將被重置為0(...
    沒(méi)我找不到電子書(shū)閱讀 943評(píng)論 0 0
  • iota是golang語(yǔ)言的常量計(jì)數(shù)器,只能在常量的表達(dá)式中使用。iota在const關(guān)鍵字出現(xiàn)時(shí)將被重置為0(c...
    faunjoe閱讀 28,437評(píng)論 0 14
  • 基本概念 iota是Go語(yǔ)言的常量計(jì)數(shù)器,只能在常量的表達(dá)式中使用。iota默認(rèn)值為0,在且僅在const關(guān)鍵字出...
    Avery_up閱讀 1,076評(píng)論 1 1
  • GO itoa實(shí)現(xiàn)原理剖析 1. 前言 我們知道iota常用于const表達(dá)式中,我們還知道其值是從零開(kāi)始,con...
    哆啦在這A夢(mèng)在哪閱讀 540評(píng)論 0 0
  • 參考:http://c.biancheng.net/view/24.html 關(guān)鍵點(diǎn) Go語(yǔ)言自身沒(méi)有枚舉類型 G...
    碼二哥閱讀 845評(píng)論 0 1

友情鏈接更多精彩內(nèi)容