解决方法:IsNil判断值时候为nil
import (
"fmt"
"reflect"
"unsafe"
)
var a interface{} = nil
var b interface{} = (*int)(nil)
fmt.Println(a == nil)
fmt.Println(b == nil, reflect.ValueOf(b).IsNil())
}
//输出:true
false true
//也可用nsafe转换后直接判断iface.data == 0
func main() {
var b interface{} = (*int)(nil)
iface := (*[2]uintptr)(unsafe.Pointer(&b))
fmt.Println(iface,iface[1] == 0)
}
//输出:&[712160 0] true