Go では、iota は定数グループ内の定数に連続した値を割り当てるのに役立つ特別な識別子です。ただし、場合によっては、特定の値をスキップしたり、シーケンスを特定の数値だけインクリメントする必要がある場合があります。
1 つのアプローチは、iota を定数でシフトし、後続の初期化式を空のままにすることです。 :
const ( APPLE = iota ORANGE PEAR BANANA = iota + 96 // Manual offset to get 99 GRAPE )
この方法では正確なオフセットが可能ですが、手動計算が必要です。
または、定数グループを分割して新しいグループを開始することもできます。
const ( APPLE = iota ORANGE PEAR ) const ( BANANA = iota + 99 // Iota reset to 0 for new group GRAPE )
この方法では、スキップされた値が後続の定数に影響を与えるのを防ぎます。
定数グループを分割することが望ましくない場合は、スキップされたグループを表す定数を導入できます。値:
const ( APPLE = iota ORANGE PEAR _BREAK BANANA = iota - _BREAK + 98 // Offset by minus 1 to continue from 99 GRAPE )
これにより、定数グループの整合性を維持しながら値をスキップできます。
好みに応じて、_BREAK を iota 1 で初期化し、値をオフセットとして使用できます。
const ( APPLE = iota ORANGE PEAR _BREAK = iota + 1 BANANA = iota - _BREAK + 99 // Continue from 99 GRAPE )
特定の要件と保守性の目標に最も適した方法を選択してください。
以上がGo の `iota` を使用して定数を定義するときに値をスキップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。