因为并非所有类型都具有可比性,例如一片。所以我们不能这样做
var v ArbitraryType
v == reflect.Zero(reflect.TypeOf(v)).Interface()
最佳答案
Go 1.13 在 reflect
包中引入了 Value.IsZero
方法。这是使用它检查零值的方法:
if reflect.ValueOf(v).IsZero() {
// v is zero, do something
}
除了基本类型外,它还适用于 Chan、Func、Array、Interface、Map、Ptr、Slice、UnsafePointer 和 Struct。
关于go - 如何知道 Golang 中任意类型的变量是否为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33115946/