Iota 是一个不断递增的整数,它简化了 Go 中的常量枚举。然而,在枚举过程中跳过大量值可能具有挑战性。
对于单组常量,为 iota 分配显式偏移量,将后续初始化表达式留空:
const ( APPLE = iota ORANGE PEAR BANANA = iota + 96 // Manually calculate the offset to obtain 99 GRAPE )
为了避免在 BANANA 之前插入元素时影响后续常量,请打破常量组:
const ( APPLE = iota ORANGE PEAR ) const ( BANANA = iota + 99 // Iota resets to 0 for the new group GRAPE )
对于单个组,引入一个您想要“打破”编号的常量,并在后续行中从 iota 中减去其值:
const ( APPLE = iota ORANGE PEAR _BREAK BANANA = iota - _BREAK + 98 // Continue from 99 + 1 = 99 GRAPE )
"_BREAK " 可以使用 iota 1 进行初始化,以进行简单的偏移计算:
const ( APPLE = iota ORANGE PEAR _BREAK = iota + 1 BANANA = iota - _BREAK + 99 // Continue from 99 GRAPE )
选择最适合您的偏好和开发风格的方法。
以上是Go中使用iota定义常量时如何跳过值?的详细内容。更多信息请关注PHP中文网其他相关文章!