​go语言g中判断指针是否为空的方法

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

创新互联是专业的甘南网站建设公司,甘南接单;提供成都网站设计、网站建设、外贸网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行甘南网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

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怎么判断指针是否为空的详细内容,更多请关注创新互联其它相关文章!


当前题目:​go语言g中判断指针是否为空的方法
标题链接:http://bzwzjz.com/article/igeeoj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 温江网站设计 成都网站建设流程 手机网站制作 成都网站设计 做网站设计 成都网站建设 成都网站设计公司 高端定制网站设计 手机网站建设套餐 企业网站设计 网站建设公司 营销网站建设 手机网站建设 成都定制网站建设 成都网站设计 企业网站设计 重庆电商网站建设 成都网站建设 企业网站建设公司 成都网站设计 网站建设 泸州网站建设