【发布时间】:2015-05-26 07:41:21
【问题描述】:
Go 是否有类似于 Python 的 in 关键字的东西?我想检查一个值是否在列表中。
例如在 Python 中:
x = 'red'
if x in ['red', 'green', 'yellow', 'blue']:
print "found"
else:
print "not found"
在 Go 中,我想出了使用 set idiom,但我认为这并不理想,因为我必须指定一个我没有使用的 int 值。
x := "red"
valid := map[string]int{"red": 0, "green": 0,"yellow": 0, "blue": 0}
if _, ok := valid[x]; ok {
fmt.Println("found")
} else {
fmt.Println("not found")
}
我知道有一个in 关键字可能与泛型有关。有没有办法使用 go generate 或其他东西来做到这一点?
【问题讨论】:
-
有什么原因没有将其作为副本关闭?
标签: dictionary go set