golang const and itoa 2022-03-23

2022-03-23  本文已影响0人  9_SooHyun

golang const

golang const定义常量时,如果出现省略的行,则自动沿用上一行的assignment

const (
        a = 1
        b = 5
        c
        d = 6
        e
        f
    )
fmt.Println(a, b, c, d, e, f)
// 1 5 5 6 6 6

golang itoa

// 每次 const 出现时,都会让iota本身 初始化为0 + const中每新增一行常量声明将使iota自增一次
const (
        a = 1
        b = 5
        c = iota
        d = 6
        e
        f
    )
fmt.Println(a, b, c, d, e, f) 
// 1 5 2 6 6 6
-----
// const中【每新增一行常量声明】才使iota自增一次
const (
    Apple, Banana = iota + 1, iota + 2
    Cherimoya, Durian
    Elderberry, Fig
)

// Apple: 1 
// Banana: 2 
// Cherimoya: 2 
// Durian: 3 
// Elderberry: 3 
// Fig: 4

----
// 可以跳过部分值
type AudioOutput int

const ( 
    OutMute AudioOutput = iota // 0 
    OutMono                    // 1 
    OutStereo                  // 2 
    _ 
    _ 
    OutSurround                // 5 
)

----
// 中间插队
const(
    a = iota // 0
    b = 5    // 5
    c = iota  // 2
    d = 6  // 6
    e   // 6
    f //6
)


上一篇下一篇

猜你喜欢

热点阅读