GO語言之常量和特殊常量
阿新 • • 發佈:2019-02-23
printf 關鍵字 ear 運行 常量表達式 last iot println 數據類型
常量
GO語言的常量就是在程序運行時不會被修改的量
go語言的常量的數據類型只可以是:布爾型、數字型(整數型、浮點型、復數型)、字符串型
示例:
package main import "fmt" //常量的數據類型 只可以是布爾型、數字型(整數型、浮點型、復數)、字符串型 func main() { const identifier string = "chao" //聲明多個相同類型 const name, last_name, first_name= "yu", "yuyu", "yuyuyu" //顯示類型定義 const age int =10 //隠式類型定義 const year = 5 var age_year int age_year=age*year fmt.Printf("年紀是:%d",age_year) fmt.Println() fmt.Println(name,last_name,first_name) }
多個常量的應用:
package main import "unsafe" // 常量還可以用作枚舉 const ( Unknow = 0 Female = 1 Male = 2 ) //常量可以計算表達式的值len(),cap(),unsafe.Sizeof()等, 常量表達式中,函數必須是內置函數,否則編譯不過const ( a="abc" b=len(a) c=unsafe.Sizeof(a) ) func main() { println(a,b,c) }
特殊常量
iota 特殊常量 可以看做可以被編譯器修改的變量
每一次const 關鍵字出現時,變量會被重置為0,然後再下一個const出現之前,每出現一次iota,其所代表的數字會自動增加1。
iota 可以被用作枚舉值
const ( a = iota b = iota c = iota ) //因此這裏,第一個iota a是0,新一行使用iota就自動加1,所以是 0,1,2 /*也可以寫作 const( a = iota b c ) */ func main() { println(a, b, c) }
iota的用法
package main // iota 特殊常量,一個可以被編譯器修改的常量 // 每一個const關鍵字出現時,被重置為0,然後下一個const出現之前,每一個iota,代表的數字會增加1 import "fmt" const( i=1<<iota j=3<<iota k l // k=3<<2 l=3<<3 位運算,理解成 3乘以 2的3次方,3*8 ,所以3<<3等於24 //實在是不懂這是什麽用法 ) func main(){ fmt.Println("i=",i) fmt.Println("j=",j) fmt.Println("k=",k) fmt.Println("l=",l) }
GO語言之常量和特殊常量