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

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

DDD
リリース: 2024-11-29 02:11:08
オリジナル
868 人が閲覧しました

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

Go でリスト内の値の存在を確認する

Python では、要素がリスト内に存在するかどうかを in キーワードで簡単に検証できます。一方、Go には明示的に同等の機能がありません。この記事では、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")
}
ログイン後にコピー

注:

大規模なリストを効率的に処理するには、for range ループを使用してマップを初期化するか、型なし定数を作成してブール値を最適化することを検討してください。割り当て。

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

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

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