常量,一經(jīng)定義不可更改的量。功能角度看,當(dāng)出現(xiàn)不需要被更改的數(shù)據(jù)時(shí),應(yīng)該使用常量進(jìn)行存儲(chǔ),例如圓周率。從語法的角度看,使用常量可以保證數(shù)據(jù),在整個(gè)運(yùn)行期間內(nèi),不會(huì)被更改。例如當(dāng)前處理器的架構(gòu)類型,可以保證不被更改。
河?xùn)|ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
語法如下
const 常量名 <可選的類型> = 常量值
const c1 int = 1000
Go語言中,標(biāo)識(shí)符(常量名)是否大小寫,取決于是否需要在導(dǎo)出時(shí)被識(shí)別。
常量的值僅僅支持,基礎(chǔ)類型,字符串,字符,整型,浮點(diǎn),布爾。
類型可以通過值推導(dǎo)出來,大多數(shù)情況可以省略類型,例如
const c2 = 1000
除非你想使用例如,int8, byte,float32這些非默認(rèn)類型時(shí),需要指定類型,例如
const c3 int16 = 1000
可以一行定義多個(gè)常量,例如:
const c4, c5 = 42, 1000
也可以使用 const()定義塊,定義多個(gè),每個(gè)常量單獨(dú)一行,例如
const (
c6 = 42
c7 = 1000
)
推薦使用const()塊語法,一次性定義多個(gè)。
const()塊定義時(shí),如果常量未給出定義,則延續(xù)上面的定義規(guī)則,例如:
const (
c7 = 42
c8 // c8 = 42
c9 // c9 = 42
)
此時(shí),c8, c9, 值都是42。
const配合iota關(guān)鍵字使用,可以定義一組由0開始+1迭代的常量
演示語法:
const (
gender_secret = iota
gender_male // = iota
gender_female // = iota
)
此時(shí),三個(gè)常量值,分別是,0, 1, 2
iota的規(guī)則是:若iota出現(xiàn)在const()中,那么const()定義的第一行的iota就是0,第二行就是0+1=1,不論iota是否被常量使用。演示如下:
const (
c1 = 42 // iota = 0,雖然未使用iota,但后邊(const()中)有使用,此時(shí)iota被初始化為0,下面每行累加1
c2 = iota // iota = 1,iota繼續(xù)累加,使用了iota
c3 = 1024 // iota = 2,同樣未使用,但iota的值繼續(xù)累加。c3 被定義為1024
c4 // iota = 3,c4延續(xù)上面的定義c4=1024,iota繼續(xù)累加
c5 = iota // iota = 4,iota繼續(xù)累加,使用了iota
c6 = iota // iota = 5,iota繼續(xù)累加,使用了iota
)
此時(shí)結(jié)果為:42, 1, 1024, 1024, 4, 5
編譯時(shí)確定,因此不能使用變量為其賦值??梢允褂?,確定的字面量,字面量運(yùn)算,內(nèi)置函數(shù)運(yùn)算,其他定義常量,這些在編譯時(shí)可以確定的內(nèi)容為常量賦值,演示為:
const c1 = "hank"
const (
c2 = c1
c3 = 42 + 1024
c4 = len("hank")
)
以上語法都可以!
完!
原文出自:小韓說課
微信關(guān)注:小韓說課