Go スライス: Missing Contains メソッド
Go では、スライスは、指定された要素が内部に存在するかどうかを効率的にチェックするメソッドをネイティブに提供しません。彼ら。各要素を繰り返して手動で検索する必要がある場合、これは面倒な操作になる可能性があります。
代替アプローチ
カスタムの contains メソッドを実装することは可能ですが、実装はできません。普遍的に推奨されています。代わりに、次の代替案を検討してください:
例:
words という名前の文字列のスライスを考えてみましょう:
words := []string{"apple", "banana", "cherry"}
sort を使用して「cherry」の存在を確認するにはパッケージ:
i := sort.SearchStrings(words, "cherry") if i < len(words) && words[i] == "cherry" { fmt.Println("cherry found") }
マップを使用してチェックするには:
existsMap := map[string]struct{}{} for _, word := range words { existsMap[word] = struct{}{} } if _, ok := existsMap["cherry"]; ok { fmt.Println("cherry found") }
これらのアプローチは、専用のスライス.contains メソッドを必要とせずに、Go スライスで包含チェックを実行するための効率的かつ柔軟なメカニズムを提供します。 .
以上がGo スライス内の要素の存在を効率的に確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。