マップを使用して Go リスト内の値の存在を効率的に確認するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-24 09:38:12
オリジナル
722 人が閲覧しました

How Can I Efficiently Check for Value Existence in a Go List Using Maps?

Go マップを使用したリスト内の値の存在の確認

Go では、Python とは異なり、値がリストに存在するかどうかを確認するための Python in キーワードに直接相当するものはありません。リスト。ただし、Go マップを使用してこれを実現する効果的な方法があります。

1 つの方法は、文字列キーとブール値を含むマップを利用することです。この場合、キーは有効な値を表し、ブール値はすべて true に設定されます。値が存在するかどうかをテストするには、マップ内にキーが存在するかどうかを確認するだけです。

valid := map[string]bool{"red": true, "green": true, "yellow": true, "blue": true}

if valid[x] {
    fmt.Println("found")
} else {
    fmt.Println("not found")
}
ログイン後にコピー

もう 1 つのオプションは、スライスを使用して有効な値を表すことです。スライス内の各項目は有効な値に対応します。次に、スライスを反復処理し、for-range ループを使用してマップを動的に作成できます:

for _, v := range []string{"red", "green", "yellow", "blue"} {
    valid[v] = true
}
ログイン後にコピー

パフォーマンスが懸念される場合は、定数ブール値を使用してマップの作成をさらに最適化できます:

const t = true
valid := map[string]bool{"red": t, "green": t, "yellow": t, "blue": t}
ログイン後にコピー

このアプローチにより、追加のユーティリティやコードを必要とせずに、Go マップを使用してリストに値が存在するかどうかを効率的にチェックできます。世代。

以上がマップを使用して Go リスト内の値の存在を効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート