检查未知接口{}是否为空
check if unknown interface{} is empty
你好,我想知道如果 interface{}
为空,我将如何在 Go 中进行验证。
我试过 reflect.TypeOf(v) == nil
,但总是 returns false
.
var h Bar
var t Foo
pointers := make([]interface{}, 0)
pointers = append(pointers, &h)
pointers = append(pointers, &t)
func test(byteValue []byte, data []interface{}) {
for _, v := range data {
fmt.Println(reflect.TypeOf(v) == nil)
if err := lib.Unmarshal(byteValue, v); err == nil {
fmt.Println(err)
}
}
}
func isZero(v interface{}) bool {
// reflect.ValueOf will panic on a nil value.
if v == nil {
return true
}
return reflect.ValueOf(v).IsZero()
}
你好,我想知道如果 interface{}
为空,我将如何在 Go 中进行验证。
我试过 reflect.TypeOf(v) == nil
,但总是 returns false
.
var h Bar
var t Foo
pointers := make([]interface{}, 0)
pointers = append(pointers, &h)
pointers = append(pointers, &t)
func test(byteValue []byte, data []interface{}) {
for _, v := range data {
fmt.Println(reflect.TypeOf(v) == nil)
if err := lib.Unmarshal(byteValue, v); err == nil {
fmt.Println(err)
}
}
}
func isZero(v interface{}) bool {
// reflect.ValueOf will panic on a nil value.
if v == nil {
return true
}
return reflect.ValueOf(v).IsZero()
}