ホームページ >バックエンド開発 >Golang >Go リストで価値のあるメンバーシップを効率的に確認するにはどうすればよいですか?

Go リストで価値のあるメンバーシップを効率的に確認するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-02 01:08:10947ブラウズ

How Can I Efficiently Check for Value Membership in Go Lists?

Go でリストの値のメンバーシップを確認する

Python では、in キーワードを使用して、リスト内に値が存在するかどうかを簡単に確認できます。 Go の同様の機能には、少し異なるアプローチが必要です。

1 つのオプションは、文字列キーと整数値を含むマップを利用することです。ただし、この方法では、未使用の整数値を指定する必要があり、不便な場合があります。

ブール値を使用したマップの使用

より洗練された解決策には、文字列を使用したマップの作成が含まれます。キーとブール値。マップ内にキーがない場合は、デフォルトのブール値 false が返されます。

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

if valid[x] {
    fmt.Println("found")
} else {
    fmt.Println("not found")
}

スライスによる最適化

有効な値が多数ある場合、スライスを使用してマップ値を true に初期化することを検討してください:

for _, v := range []string{"red", "green", "yellow", "blue"} {
    valid[v] = true
}

Shorter定数を使用した初期化

または、型なし定数またはブール定数を作成して、初期化をさらに最適化することもできます。

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

これらの手法のいずれかを採用することで、値は Go のリスト内に含まれており、Python の in キーワードと同様の機能を提供します。

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

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