golang 中有两种接口,即eface和iface。而 eface 是一个空接口,可以简单地表示为interface {}. iface 是一种至少具有一种方法的接口,例如:type MyInterface interface { Greeting() string}在 golang 实现中,eface 和 iface 都是两个字长的结构体。eface 保存数据和数据类型,iface 保存数据、接口类型和数据类型。当 iface 分配给 eface 时,将忽略 interfacetype 信息。只有传递给 eface 的数据和数据类型。因此,reflect.TypeOf(i interface{})的参数是和 eface,没有接口类型信息(在您的情况下也称为 context.Context)。所以你不能得到原始的接口类型。
1 回答
慕森王
TA贡献1777条经验 获得超3个赞
升级 Git 使其大于 1.7.1(最新的 CentOS 基础版本)。首先尝试 rpmforge;如果这不起作用,请从源代码编译:https : //git-scm.com/book/en/v2/Getting-Started-Installing-Git#Installing-from-Source
我对Git的2.6.2,它现在的工作罚款:go get -v github.com/revel/revel
(-v
详细模式)
- 1 回答
- 0 关注
- 156 浏览
添加回答
举报
0/150
提交
取消