iota是golang語言的常量計數(shù)器,只能在常量的表達(dá)式中使用。常量是一個簡單值的標(biāo)識符,在程序運行時,不會被修改的量。常量中的數(shù)據(jù)類型只可以是布爾型、數(shù)字型(整數(shù)型、浮點型和復(fù)數(shù))和字符串型。
十年的日土網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整日土建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“日土網(wǎng)站設(shè)計”,“日土網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。iota在const關(guān)鍵字出現(xiàn)時將被重置為0(const內(nèi)部的第一行之前),const中每新增一行常量聲明將使iota計數(shù)一次(iota可理解為const語句塊中的行索引)。
使用iota能簡化定義,在定義枚舉時很有用。
在常量定義中,iota可以方便的迭代一個值從0以步長1遞增,0,1,2,3,4,5…
本例以文件大小的格式2的10次方進(jìn)位一次為依據(jù),將KB為1左移10位,MB左移20位。
本文中的Sprintf(“%f”,x)并不會因為定義在String方法內(nèi)而引起無窮循環(huán)bug,因為%f不會去嘗試調(diào)用String()
package main import ( "fmt" ) type ByteSize float64 const ( _ = iota KB ByteSize = 1 << (10*iota) MB GB TB PB EB ZB YB ) func (b ByteSize) String() string{ switch { case b >= YB: return fmt.Sprintf("%.2fYB",b/YB) case b >= ZB: return fmt.Sprintf("%.2fZB",b/ZB) case b >= EB: return fmt.Sprintf("%.2fEB",b/EB) case b >= PB: return fmt.Sprintf("%.2fPB",b/PB) case b >= TB: return fmt.Sprintf("%.2fTB",b/TB) case b >= GB: return fmt.Sprintf("%.2fGB",b/GB) case b >= MB: return fmt.Sprintf("%.2fMB",b/MB) case b >= KB: return fmt.Sprintf("%.2fKB",b/KB) } return fmt.Sprintf("%.2fB",b) } func main() { fmt.Println(ByteSize(1e10)) }
以上就是golang iota從幾開始的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
分享名稱:iota在golang中的應(yīng)用-創(chuàng)新互聯(lián)
分享路徑:http://jinyejixie.com/article46/dsiihg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、云服務(wù)器、動態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容