【发布时间】:2012-11-11 06:56:14
【问题描述】:
检查某个值是否在字符串切片中的最佳方法是什么?我会使用其他语言的 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
这个方案对于小切片应该没问题,但是对于元素多的切片怎么办?
【问题讨论】: