![image.png](https://static.studygolang.com/190318/a272f421b835ffe25f8cf5f1bf764641.png)
这是什么语法?!M()是个啥?!
更多评论
```
eface = (interface{})(*(*interface {M()})(v.ptr)) // 就是两次类型转换
```
先看 `(*interface {M()})(v.ptr)` 表示类型转换,其中 `*interface {M()})` 表示匿名接口类型指针,接口的方法函数只有一个,就是`M()`,这语句整体意思就是将`v.ptr`转为`(*interface {M()})`类型。
接着再解指针,再进行一次类型转换,转为` (interface{})` ,也就是空接口。
#1