首頁 >後端開發 >Golang >golang 中const是什麼

golang 中const是什麼

(*-*)浩
(*-*)浩原創
2019-12-31 13:48:155846瀏覽

golang 中const是什麼

const宣告為常數提供名稱,也就是編譯時固定的值。常數的值必須是數字,字串或布林值。

Go語言中的常數使用關鍵字const 定義,用於儲存不會改變的數據,常數是在編譯時被創建的,即使定義在函數內部也是如此,並且只能是布林型、數字型(整數型、浮點型和複數)和字串型。                       (建議學習:go

由於編譯時的限制,定義為常數的運算式必須為能被編譯器求值的常數表達式。

常數的定義格式和變數的宣告語法類似:const name [type] = value,例如:

const pi = 3.14159 // 相当于 math.Pi 的近似值

在Go語言中,你可以省略型別說明符[type ],因為編譯器可以根據變數的值來推斷其型別。

明確型別定義: const b string = "abc"

隱含型別定義: const b = "abc"

常數的值必須是能夠在編譯時就能夠確定的,可以在其賦值表達式中涉及計算過程,但是所有用於計算的值必須在編譯期間就能獲得。

正確的做法:

const c1 = 2/3

錯誤的做法:

const c2 = getNumber() // 引发构建错误: getNumber() 用做值

和變數宣告一樣,可以批次宣告多個常數:

const (
    e  = 2.7182818
    pi = 3.1415926
)

所有常數的運算都可以在編譯期完成,這樣不僅可以減少運行時的工作,也方便其他程式碼的編譯優化,當操作數是常數時,一些運行時的錯誤也可以在編譯時被發現,例如整數除零、字串索引越界、任何導致無效浮點數的運算等。

常數間的所有算術運算、邏輯運算和比較運算的結果也是常數,對常數的類型轉換操作或以下函數呼叫都是傳回常數結果:len、cap、real、imag、complex 和unsafe .Sizeof。

以上是golang 中const是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn