1. 程式人生 > >go語言學習-iota和右移的用法

go語言學習-iota和右移的用法

在go語言中iota比較特殊,是一個被編譯器修改的常量,在每一個const關鍵字出現時被重置為0,然後在下一個const出現之前,每出現一次iota,其所代表的數字就會自動加1

左移運算子”<<”是雙目運算子。左移n位就是乘以2的n次方。 其功能把”<<”左邊的運算數的各二進位全部左移若干位,由”<<”右邊的數指定移動的位數,高位丟棄,低位補0。

右移運算子”>>”是雙目運算子。右移n位就是除以2的n次方。 其功能是把”>>”左邊的運算數的各二進位全部右移若干位,”>>”右邊的數指定移動的位數。

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) }

程式碼執行結果和上面註釋相同:
這裡寫圖片描述