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