ホームページ >バックエンド開発 >Golang >Go の `iota` を使用して定数を定義するときに値をスキップするにはどうすればよいですか?

Go の `iota` を使用して定数を定義するときに値をスキップするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-05 17:59:14699ブラウズ

How Can I Skip Values When Defining Constants Using Go's `iota`?

Go の Const 変数の値をスキップする

Go では、iota は定数グループ内の定数に連続した値を割り当てるのに役立つ特別な識別子です。ただし、場合によっては、特定の値をスキップしたり、シーケンスを特定の数値だけインクリメントする必要がある場合があります。

Manual Offset

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。