猿问

下载 gopkg.in/fsnotify.v1 时 Golang Revel 冻结

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)。所以你不能得到原始的接口类型。


冉冉说
浏览 157回答 1
1回答

慕森王

升级 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详细模式)
随时随地看视频慕课网APP

相关分类

Go
我要回答