据我了解,您想要的是:
func IsZeroOfUnderlyingType(x interface{}) bool { return x == reflect.Zero(reflect.TypeOf(x)).Interface()}
在谈论接口和时
nil,人们总是对两个截然不同且无关的事物感到困惑:
据我了解,您正在询问第二件事。
更新 :由于上面的代码的使用
==,它对于不可 比较的
类型无效。我相信,使用
reflect.DeepEqual()代替将使它适用于所有类型:
func IsZeroOfUnderlyingType(x interface{}) bool { return reflect.DeepEqual(x, reflect.Zero(reflect.TypeOf(x)).Interface())}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)