首页后端开发其他后端知识Golang中指针是不是空的判断语句如何写

Golang中指针是不是空的判断语句如何写

时间2024-03-26 12:44:03发布访客分类其他后端知识浏览662
导读:这篇文章给大家分享的是“Golang中指针是不是空的判断语句如何写”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“Golang中指针是不是空的判断语句如何写”吧。...
这篇文章给大家分享的是“Golang中指针是不是空的判断语句如何写”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“Golang中指针是不是空的判断语句如何写”吧。
           


golang判断指针是否为空的方法:

1、知道类型的情况下,自然是可以使用类型断言后判空。如ai, ok := i.(*int),之后判断ai == nil。

2、不知道是何种类型的指针,就只好借助反射了vi := reflect.ValueOf(i),后使用vi.IsNil()来判断。但如果i里放到不是一个指针,调用IsNil会出异常,则可能要写一个这样的函数来判空

func IsNil(i interface{
}
) bool {

    defer func() {

        recover()
    }
()
    vi := reflect.ValueOf(i)
    return vi.IsNil()
}

但有这样强加一个defer的recover确实不好看,于是借助类型判断变成这样

func IsNil(i interface{
}
) bool {

    vi := reflect.ValueOf(i)
    if vi.Kind() == reflect.Ptr {

        return vi.IsNil()
    }

    return false
}
    

通过以上内容的阐述,相信大家对“Golang中指针是不是空的判断语句如何写”已经有了进一步的了解,更多相关的问题,欢迎关注网络或到官网咨询客服。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Golang中指针是不是空的判断语句如何写
本文地址: https://pptw.com/jishu/653507.html
node path模块的使用方法是什么 fs异步与同步什么意思,怎样用

游客 回复需填写必要信息