溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

go語言常量有哪些

發(fā)布時(shí)間:2023-01-13 15:35:39 來源:億速云 閱讀:90 作者:iii 欄目:編程語言

這篇“go語言常量有哪些”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“go語言常量有哪些”文章吧。

go語言常量有5種:布爾型常量、整數(shù)型常量、浮點(diǎn)型常量、復(fù)數(shù)常量和字符串型常量。Go語言中的常量使用關(guān)鍵字const定義,用于存儲(chǔ)不會(huì)改變的數(shù)據(jù),常量是在編譯時(shí)被創(chuàng)建的,即使定義在函數(shù)內(nèi)部也是如此,并且只能是布爾型、數(shù)字型(整數(shù)型、浮點(diǎn)型和復(fù)數(shù))和字符串型。

常量是指程序在執(zhí)行過程中可能不會(huì)改變的固定值。 這些固定值也稱為文字。

常量是程序中最基礎(chǔ)的元素,在定義之后就不能再重新賦值了。

Go語言中的常量使用關(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語言里 '1′,”1″,1是不一樣的值,這個(gè)和C語言是一樣的。有興趣的童靴可以自己試試輸出試試看。

擴(kuò)展知識(shí):無類型常量

Go語言的常量有個(gè)不同尋常之處。雖然一個(gè)常量可以有任意一個(gè)確定的基礎(chǔ)類型,例如 int 或 float64,或者是類似 time.Duration 這樣的基礎(chǔ)類型,但是許多常量并沒有一個(gè)明確的基礎(chǔ)類型。

編譯器為這些沒有明確的基礎(chǔ)類型的數(shù)字常量提供比基礎(chǔ)類型更高精度的算術(shù)運(yùn)算,可以認(rèn)為至少有 256bit 的運(yùn)算精度。這里有六種未明確類型的常量類型,分別是無類型的布爾型、無類型的整數(shù)、無類型的字符、無類型的浮點(diǎn)數(shù)、無類型的復(fù)數(shù)、無類型的字符串。

通過延遲明確常量的具體類型,不僅可以提供更高的運(yùn)算精度,而且可以直接用于更多的表達(dá)式而不需要顯式的類型轉(zhuǎn)換。

【示例 1】math.Pi 無類型的浮點(diǎn)數(shù)常量,可以直接用于任意需要浮點(diǎn)數(shù)或復(fù)數(shù)的地方:

var x float32 = math.Pi
var y float64 = math.Pi
var z complex128 = math.Pi

如果 math.Pi 被確定為特定類型,比如 float64,那么結(jié)果精度可能會(huì)不一樣,同時(shí)對(duì)于需要 float32 或 complex128 類型值的地方則需要一個(gè)明確的強(qiáng)制類型轉(zhuǎn)換:

const Pi64 float64 = math.Pi
var x float32 = float32(Pi64)
var y float64 = Pi64
var z complex128 = complex128(Pi64)

以上就是關(guān)于“go語言常量有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI