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

Go スライス内の要素の存在を効率的に確認するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-12 15:17:18506ブラウズ

How to Efficiently Check for Element Presence in Go Slices?

Go スライス内の要素の存在を確認する

Go では、スライスには、slice.contains(object) のようなメソッドがネイティブに含まれていません。要素の存在を決定します。代わりに、一般的な解決策は、各要素を反復処理して検索を実行することです。

代替アプローチ:

カスタム メソッド:

カスタムのlice.contains()メソッドの作成は、次のように簡単なオプションです。 Mostafa.

二分探索:

mkb が提案しているように、sort パッケージの二分探索アルゴリズムを利用すると、大きなスライスに対してより効率的なアプローチが提供されます。

の使用Map:

多数の存在チェックが予想される場合、スライスの代わりにマップを使用すると、より効率的なソリューションが提供されます。

このシナリオでは、map[string ]struct{} は、そのような値に対して最適化された内部マップ タイプのため、セットによく使用されます。

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

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