我最近在看fyne的代码,就发现里面很多地方都类似写法
var _ Dialog = (*dialog)(nil)
以上代码出现在:下面连接中的 35 行
https://github.com/fyne-io/fyne/blob/master/dialog/base.go
用了 var 关键字,意思是定义变量
用了 _ 表示丢弃
用了 Dialog 表示丢弃的变量类型为 Dialog
用了 = (*dialog)(nil) 后面的部分 我不太理解了,这是几个意思呢?有知道的分享下。谢谢
这一行字面的作用只是显式地声明 dialog 是实现了 Dialog 这个接口的。
至于为什么要显式声明我有两个猜想:
第一个用这种办法却是可以很好地提高可读性,在接口内容改变后也可以很快知道
第二个只是我瞎猜的