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 關注
- 176 瀏覽
添加回答
舉報
0/150
提交
取消