溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

go語言中的const是什么?

發布時間:2020-05-23 15:33:28 來源:億速云 閱讀:614 作者:鴿子 欄目:編程語言

const聲明為常量提供名稱,即在編譯時固定的值。常量的值必須是數字,字符串或布爾值。

Go語言中的常量使用關鍵字 const 定義,用于存儲不會改變的數據,常量是在編譯時被創建的,即使定義在函數內部也是如此,并且只能是布爾型、數字型(整數型、浮點型和復數)和字符串型。

由于編譯時的限制,定義常量的表達式必須為能被編譯器求值的常量表達式。

常量的定義格式和變量的聲明語法類似: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是什么的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女