登录
首页 >  Golang >  Go问答

无需担忧: Go 语言中的 map 不会引发空指针错误

来源:stackoverflow

时间:2024-02-28 22:54:29 494浏览 收藏

本篇文章给大家分享《无需担忧: Go 语言中的 map 不会引发空指针错误》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

为什么这个程序不会恐慌?

package main

import "fmt"

func main() {
    m := make(map[string]string)
    m["test"] = "test"
    delete(m, "tes1t")

    m = nil
    fmt.Println("End")
    fmt.Println(m["test"])
}

https://go.dev/play/p/37reql6pdb5

事件hough mnil,仍然可以读取m中的项目。


正确答案


查看此代码片段:

package main

import "fmt"

func main() {
    var m map[string]string = nil
    fmt.println(m) // output: "map[]"

}

这是预期行为,因为 nil 对于许多类型的变量都充当零值,包括(但不限于)贴图切片

此外,golang 中不存在“异常”这样的东西。您可以使用以下语法检查地图中是否存在某个值:

value, found := m["key"]

其中 found 变量指示该值是否存在于地图中。

理论要掌握,实操不能落!以上关于《无需担忧: Go 语言中的 map 不会引发空指针错误》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>