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