十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
const聲明為常量提供名稱,即在編譯時(shí)固定的值。常量的值必須是數(shù)字,字符串或布爾值。
Go語言中的常量使用關(guān)鍵字 const 定義,用于存儲不會改變的數(shù)據(jù),常量是在編譯時(shí)被創(chuàng)建的,即使定義在函數(shù)內(nèi)部也是如此,并且只能是布爾型、數(shù)字型(整數(shù)型、浮點(diǎn)型和復(fù)數(shù))和字符串型。
由于編譯時(shí)的限制,定義常量的表達(dá)式必須為能被編譯器求值的常量表達(dá)式。
常量的定義格式和變量的聲明語法類似:const name [type] = value,例如:
const pi = 3.14159 // 相當(dāng)于 math.Pi 的近似值
在Go語言中,你可以省略類型說明符 [type],因?yàn)榫幾g器可以根據(jù)變量的值來推斷其類型。
顯式類型定義: const b string = "abc"
隱式類型定義: const b = "abc"
常量的值必須是能夠在編譯時(shí)就能夠確定的,可以在其賦值表達(dá)式中涉及計(jì)算過程,但是所有用于計(jì)算的值必須在編譯期間就能獲得。
正確的做法:
const c1 = 2/3
錯(cuò)誤的做法:
const c2 = getNumber() // 引發(fā)構(gòu)建錯(cuò)誤: getNumber() 用做值
和變量聲明一樣,可以批量聲明多個(gè)常量:
const ( e = 2.7182818 pi = 3.1415926 )
所有常量的運(yùn)算都可以在編譯期完成,這樣不僅可以減少運(yùn)行時(shí)的工作,也方便其他代碼的編譯優(yōu)化,當(dāng)操作數(shù)是常量時(shí),一些運(yùn)行時(shí)的錯(cuò)誤也可以在編譯時(shí)被發(fā)現(xiàn),例如整數(shù)除零、字符串索引越界、任何導(dǎo)致無效浮點(diǎn)數(shù)的操作等。
常量間的所有算術(shù)運(yùn)算、邏輯運(yùn)算和比較運(yùn)算的結(jié)果也是常量,對常量的類型轉(zhuǎn)換操作或以下函數(shù)調(diào)用都是返回常量結(jié)果:len、cap、real、imag、complex 和 unsafe.Sizeof。
以上就是golang 中const是什么的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司其它相關(guān)文章!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。