站長資訊網
        最全最豐富的資訊網站

        golang iota從幾開始

        golang iota從幾開始

        iota是golang語言的常量計數器,只能在常量的表達式中使用。

        iota在const關鍵字出現時將被重置為0(const內部的第一行之前),const中每新增一行常量聲明將使iota計數一次(iota可理解為const語句塊中的行索引)。 (推薦學習:go)

        使用iota能簡化定義,在定義枚舉時很有用。

        在常量定義中,iota可以方便的迭代一個值從0以步長1遞增,0,1,2,3,4,5…

        本例以文件大小的格式2的10次方進位一次為依據,將KB為1左移10位,MB左移20位。。。

        本文中的Sprintf(“%f”,x)并不會因為定義在String方法內而引起無窮循環bug,因為%f不會去嘗試調用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)) }

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲国产精品专区在线观看| 精品国产午夜肉伦伦影院| 97久人人做人人妻人人玩精品| 国产小视频国产精品| 久久精品成人国产午夜| 亚洲日本精品一区二区| 国产69精品久久久久9999| 国产伦精品一区二区三区视频金莲| 久久久久亚洲精品无码网址| 最新精品露脸国产在线 | 国产成人1024精品免费| 国产成人亚洲精品青草天美| 99精品视频在线观看| 国产午夜福利精品久久| 高清免费久久午夜精品| 日韩欧精品无码视频无删节 | 久久亚洲精品成人AV| 国产精品视频网站你懂得| 欧美肥屁VIDEOSSEX精品| 亚洲AV永久无码精品一区二区国产| 国产精品亚洲专区无码WEB| 91自慰精品亚洲| 亚洲午夜久久久精品影院| 国产精品免费精品自在线观看| 欧美jizzhd精品欧美| 亚洲精品无码国产| 大桥未久在线精品视频在线| 精品无码无人网站免费视频| 97久视频精品视频在线老司机| 国产精品美女久久久| 成人国产精品一区二区网站| 国产精品女同久久久久电影院| 久久99精品久久只有精品| 久久精品夜夜夜夜夜久久| 日韩精品无码AV成人观看| 亚洲av午夜福利精品一区人妖| 中文国产成人精品久久不卡 | 久久这里有精品视频| 久久精品无码专区免费 | 午夜天堂精品久久久久| 无码精品人妻一区二区三区人妻斩 |