main.go
package main
import "fmt"
import "reflect"
func main() {
var a interface{}
var b int64 = 0
a = b
fmt.Println(reflect.TypeOf(a))
fmt.Println(reflect.TypeOf(b))
fmt.Println(a==0)
fmt.Println(b==0)
fmt.Println(reflect.TypeOf(&a))
fmt.Println(reflect.TypeOf(&b))
}
运行结果是
$ go run main.go
int64
int64
false
true
*interface{}
*int64
所以反射为某个类型的值 不一定是那个类型 也有可能是空接口