go語言常量有5種:布爾型常量、整數型常量、浮點型常量、復數常量和字符串型常量。Go語言中的常量使用關鍵字const定義,用于存儲不會改變的數據,常量是在編譯時被創建的,即使定義在函數內部也是如此,并且只能是布爾型、數字型(整數型、浮點型和復數)和字符串型。
本教程操作環境:windows7系統、GO 1.18版本、Dell G3電腦。
常量是指程序在執行過程中可能不會改變的固定值。 這些固定值也稱為文字。
常量是程序中最基礎的元素,在定義之后就不能再重新賦值了。
Go語言中的常量使用關鍵字 const 定義,用于存儲不會改變的數據,常量是在編譯時被創建的,即使定義在函數內部也是如此,并且只能是布爾型、數字型(整數型、浮點型和復數)和字符串型。由于編譯時的限制,定義常量的表達式必須為能被編譯器求值的常量表達式。
布爾常量
布爾常量只有兩個取值,真(true)或者假(false)。
代碼如下:
const x = true fmt.Print(x) //輸出true
整數常量
整型常量其實就是正數
代碼如下:
const x = 20 fmt.Print(x) //輸出20
浮點數常量
浮點數常量其實就是小數
代碼如下:
cOnstx= 0.618 fmt.Print(x) //輸出%f0.618
字符/字符串常量
代碼如下:
const x = 'a' fmt.Print(x) //輸出97 const x = "a" fmt.Print(x) //輸出a
復數常量
代碼如下:
const x = 3 + 2i fmt.Print(x) //輸出%v(3+2i)
仔細看的童靴會發現'a'和”a”的輸出值不一樣,單引號的'a'表示字符,雙引號的”a”表示字符串。在Go語言里 '1′,”1″,1是不一樣的值,這個和C語言是一樣的。有興趣的童靴可以自己試試輸出試試看。
擴展知識:無類型常量
Go語言的常量有個不同尋常之處。雖然一個常量可以有任意一個確定的基礎類型,例如 int 或 float64,或者是類似 time.Duration 這樣的基礎類型,但是許多常量并沒有一個明確的基礎類型。
編譯器為這些沒有明確的基礎類型的數字常量提供比基礎類型更高精度的算術運算,可以認為至少有 256bit 的運算精度。這里有六種未明確類型的常量類型,分別是無類型的布爾型、無類型的整數、無類型的字符、無類型的浮點數、無類型的復數、無類型的字符串。
通過延遲明確常量的具體類型,不僅可以提供更高的運算精度,而且可以直接用于