在 Go 中,iota 是一個常數產生器,可讓您順序定義多個常數。但是,如果在此過程中需要跳過大量值怎麼辦?
最簡單的方法是用常數移動 iota,留下後續的初始化表達式空的。例如:
const ( APPLE = iota ORANGE PEAR BANANA = iota + 96 // 96 is manually calculated to get 99 GRAPE )
這將在將 99 分配給 BANANA 之前跳過 96 個值。但請注意,在 BANANA 之前加入元素會影響 BANANA 及後續常數的值。
如果需要避免這種依賴關係,可以打破常數組並開始一個新的。 Iota 的值在遇到保留字 const 時重設為 0。例如:
const ( APPLE = iota ORANGE PEAR ) const ( BANANA = iota + 99 // iota is reset to 0 GRAPE )
此方法可確保在 BANANA 之前插入元素不會改變 BANANA 及後續常數的值。
維護單一常數組,同時跳過值,在要中斷編號的位置引入一個常數。在下一行中從 iota 中減去它的值。
const ( APPLE = iota ORANGE PEAR _BREAK BANANA = iota - _BREAK + 98 // Continues from 98 + 1 = 99 GRAPE )
或者,您可以使用 iota 1 初始化 _BREAK,使要套用的偏移量為 _BREAK 本身的值。
const ( APPLE = iota ORANGE PEAR _BREAK = iota + 1 BANANA = iota - _BREAK + 99 // Continues from 99 GRAPE )
選擇最適合您的程式碼結構和偏好的方法,以便在 Go 中使用 iota 定義常數時有效地跳過值。
以上是如何在 Go 常數中使用 Iota 有效地跳過值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!