特定の値が文字列スライスにあるかどうかを確認するための最良の方法は何ですか?他の言語でセットを使用しますが、Goにはセットがありません。
私の最善の試みはこれまでのところこれです:
package main
import "fmt"
func main() {
list := []string{"a", "b", "x"}
fmt.Println(isValueInList("b", list))
fmt.Println(isValueInList("z", list))
}
func isValueInList(value string, list []string) bool {
for _, v := range list {
if v == value {
return true
}
}
return false
}
http://play.golang.org/p/gkwMz5j09n
このソリューションは小さなスライスでは問題ないはずですが、多くの要素を含むスライスではどうすればよいでしょうか。