检查某个值是否在字符串切片中的最佳方法是什么?我会在其他语言中使用 Set,但 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
这个解决方案对于小切片应该没问题,但是对于有很多元素的切片怎么办?