同时,通过去这个教程中去写FUSE文件系统,我遇到了这个神秘的分配:
var _ fs.Node = (*Dir)(nil)
有人可以解释这种语法的机制吗?它在声明它的上下文中如何适应?据我了解,赋值的结果实际上被忽略了(正确的表达式甚至会导致什么?nir Dir指针?)
这使编译器检查类型是否*Dir满足fs.Node接口。
*Dir
fs.Node
取得一个nil指针,使其成为一个*Dir指针,并将其分配给接口类型的未命名变量fs.Node。由于我们从不使用此变量,因此必须将其命名。
nil