英文:
How to differentiate empty string and nothing in a map
问题
以下代码返回true
。所以我想知道在Golang中的map[string]string
中,是否有办法区分空字符串和不存在的键?
package main
import "fmt"
func main() {
m := make(map[string]string)
m["abc"] = ""
fmt.Println(m["a"] == m["abc"]) //true
}
英文:
The following code yields true
. So I'm wondering for map[string]string
in Golang, is there a way to differentiate empty string and nothing?
package main
import "fmt"
func main() {
m := make(map[string]string)
m["abc"] = ""
fmt.Println(m["a"] == m["abc"]) //true
}
答案1
得分: 9
如果你说的“nothing”是指元素不在映射中,你可以使用 ok
惯用法:
val, ok := myMap["value"] // 如果 value 在映射中,ok 为 true
你可以在 Effective Go 中找到更多信息。
英文:
If by "nothing" you mean that the element is not in the map you can use the ok
idiom:
val, ok := myMap["value"] // ok is true if value was in the map
You can find more information in Effective Go.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论