在Go中检查nil和nil接口
发布于 2021-02-01 11:18:04
目前,我正在使用此辅助函数来检查nil和nil接口
func isNil(a interface{}) bool {
defer func() { recover() }()
return a == nil || reflect.ValueOf(a).IsNil()
}
由于reflect.ValueOf(a).IsNil()
恐慌,如果该值的种类比其他任何东西Chan
,Func
,Map
,Ptr
,Interface
或者Slice
,我在推迟扔recover()
赶上那些。
有没有更好的方法来完成此检查?它认为应该有更直接的方法来做到这一点。
关注者
0
被浏览
100