Golang中指针是不是空的判断语句如何写
导读:这篇文章给大家分享的是“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