您好,登錄后才能下訂單哦!
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是什么的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。