【问题标题】:what's the meaning of global variable _ which convers nil to an interface将 nil 转换为接口的全局变量 _ 的含义是什么
【发布时间】:2022-08-18 17:51:48
【问题描述】:

我试图从图的源代码中理解全局变量 _ 的影响,如下面的代码,但最后我无法弄清楚这是什么意思。

type variable_ interface {
    cin()
}

type imple struct {
}

func (i *imple) cin() {
    fmt.Println(\"cout\")
}

var (
    _ = variable_((*imple)(nil))
)
  • 重复:_ 表示始终相同:忽略它。有趣的是variable_((*imple)(nil)) 没有变量(你不在乎)你不能把它放进代码中。 variable_((*imple)(nil))*impl 实现 variable_ 的编译时检查。

标签: go variables interface


【解决方案1】:

_ 在 GO 中总是意味着忽略。 _ = variable_((*imple)(nil)) 的目的是在编译时检查 *impl 是否实现 variable_

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 2020-01-06
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多