在go語言中iota比較特殊,是一個被編譯器修改的常量,在每一個const關(guān)鍵字出現(xiàn)時被重置為0,然后在下一個const出現(xiàn)之前,每出現(xiàn)一次iota,其所代表的數(shù)字就會自動加1
左移運(yùn)算符"“是雙目運(yùn)算符
左移n位就是乘以2的n次方。 其功能把”“左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由”"右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補(bǔ)0。
右移運(yùn)算符">>“是雙目運(yùn)算符
右移n位就是除以2的n次方。 其功能是把”>>“左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,”>>"右邊的數(shù)指定移動的位數(shù)。
package iota
import "fmt"
func Test() {
const(
c1 = iota //c1=0
c2 = iota //c2=1
c3 = iota //c3=2
)
fmt.Println("c1 = ",c1," c2 = ",c2," c3 = ",c3,"\n")
const(
a = 1 iota //a = 1
b = 1 iota //b = 2
c = 1 iota //c = 4
)
fmt.Println("a = ",a," b = ",b," c = ",c,"\n")
const(
v1 = iota //v1 = 0
v2 //v2 = 1
v3 //v3 = 2
)
fmt.Println("v1 = ",v1," v2 = ",v2," v3 = ",v3,"\n")
const(
x = 1 iota //x = 1
y //y = 2
z //z = 4
)
fmt.Println("x = ",x," y = ",y," z = ",z)
}
代碼執(zhí)行結(jié)果和上面注釋相同:
補(bǔ)充:go語言 iota枚舉類型
一.概述
go語言中的枚舉,和java中一樣,都是從0開始
二.說明
// 1.iota常量自動生成器,每隔一行,自動累加1
// 2.iota給常量賦值用
const (
a = iota //0
b = iota //1
c = iota //2
)
fmt.Printf("a = %d, b = %d, c = %d\n", a, b, c)
// 3.iota遇到const,重置為0
const d = iota
fmt.Printf("d = %d\n", d)
// 4 可以只寫一個iota
const (
a1 = iota //0
b1 //1
c1 //2
)
fmt.Printf("a1 = %d, b1 = %d, c1 = %d\n", a1, b1, c1)
// 5 如果是同一行,值都一樣
const (
i = iota
j1, j2, j3 = iota, iota, iota
k = iota
)
fmt.Printf("i = %d, j1 = %d, j2 = %d, j3 = %d, k = %d\n", i, j1, j2, j3, k)
二.代碼運(yùn)行結(jié)果
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- Golang常量iota的使用實(shí)例
- Go 在 MongoDB 中常用查詢與修改的操作
- golang 實(shí)現(xiàn)時間戳和時間的轉(zhuǎn)化
- Golang Gob編碼(gob包的使用詳解)
- golang如何獲得一個變量的類型
- golang 如何獲取文件夾下面的文件列表
- Go語言獲取文件的名稱、前綴、后綴