在golang中,interface也是一个结构体,记录了2个指针: 指针1,指向该变量的类型 指针2,指向该变量的value 如下,空接口的结构体就是上述2个指针,第一个指针的类型是type rtype struct;非空接口由于需要携带的信息更多(例如该接口实现了哪些方法),所以第一个指针的类型是itab,在itab中记录了该变量的动态类型:typ ...