这是什么神仙语法?!

liuwangchen · 2019-03-18 14:11:02 · 3367 次点击

如果不是万般无奈,这样写是很坑人的

#5
更多评论
eface = (interface{})(*(*interface {M()})(v.ptr))    // 就是两次类型转换

先看 (*interface {M()})(v.ptr) 表示类型转换,其中 *interface {M()}) 表示匿名接口类型指针,接口的方法函数只有一个,就是M(),这语句整体意思就是将v.ptr转为(*interface {M()})类型。
接着再解指针,再进行一次类型转换,转为(interface{}) ,也就是空接口。

#1