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 的運算精度。這裡有六種未明確類型的常數類型,分別是無類型的布林型、無類型的整數、無類型的字元、無類型的浮點數、無類型的複數、無類型的字串。
透過延遲明確常數的具體類型,不僅可以提供更高的運算精度,而且可以直接用於更多的表達式而不需要顯式的類型轉換。
【範例1】math.Pi 無類型的浮點數常數,可以直接用於任意需要浮點數或複數的地方:
var x float32 = math.Pi var y float64 = math.Pi var z complex128 = math.Pi
如果math.Pi 被確定為特定類型,例如float64,那麼結果精確度可能會不一樣,同時對於需要float32 或complex128 類型值的地方則需要一個明確的強制型別轉換:
const Pi64 float64 = math.Pi var x float32 = float32(Pi64) var y float64 = Pi64 var z complex128 = complex128(Pi64)
以上是go語言常量有多少種的詳細內容。更多資訊請關注PHP中文網其他相關文章!