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