1. ホーム
  2. go

[解決済み] スライスのメソッドを含む

2022-03-17 08:03:52

質問

のようなものはありますか? slice.contains(object) メソッドで、スライス内の各要素を検索する必要はないのですか?

どのように解決するのですか?

Mostafaはすでに 指摘 このようなメソッドを書くのは簡単で、mkb は sort パッケージのバイナリ検索を使用するヒントを与えてくれました。しかし、このような含みのあるチェックをたくさん行うのであれば、代わりにマップを使うことも検討すべきかもしれません。

特定のマップ・キーが存在するかどうかを調べるには、些細なことですが value, ok := yourmap[key] イディオムです。値には興味がないため、このイディオムでは map[string]struct{} などがあります。空の struct{} ここでは、追加のスペースを必要とせず、Goの内部マップタイプはその種の値に最適化されているという利点があります。したがって map[string] struct{} は、Goの世界ではセットとしてよく使われる選択肢です。