【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我知道我可以在地图迭代 m 的, for k, v := range m { ... } 并寻找钥匙,但是有没有更有效的方法来测试地图中钥匙的存在? 我在 语言规范中 找不到答案。 #1楼 在“ 坚果”电子邮件列表中进行搜索 ,找到了Peter Froehlich在2009年11月15日发布的解决方案。 package main import "fmt" func main() { dict := map[string]int {"foo" : 1, "bar" : 2} value, ok := dict["baz"] if ok { fmt.Println("value: ", value) } else { fmt.Println("key not found") } } 或者,更紧凑地说, if value, ok := dict["baz"]; ok { fmt.Println("value: ", value) } else { fmt.Println("key not found") } 注意,使用这种形式的 if 语句, value 和 ok 变量仅在 if 条件内部可见。 #2楼 一行答案: if val, ok := dict["foo"]; ok { //do something here