blank对接口做什么? 试图理解GO../P>中代码>接口的空白功能 type Manager interface { GetAge(name string) (int, error) } type manager struct { } var _ Manager = &manager{} func NewManager() Manager { return &manager{} }

blank对接口做什么? 试图理解GO../P>中代码>接口的空白功能 type Manager interface { GetAge(name string) (int, error) } type manager struct { } var _ Manager = &manager{} func NewManager() Manager { return &manager{} },go,Go,这是一种特殊的习惯用法,用于在编译时断言具体类型是否实现给定接口 在上面的代码中,如果编写manager类型的人忘记为其实现GetAge方法,代码将不会编译,编译错误将准确地告诉他们缺少哪些方法 这里可能有点多余,但是如果需要由类型实现的接口有大量的方法,这种技术可能会有所帮助 请注意,由于上述原因,上面的代码无法编译。此外,您需要确保,在空白声明中使用“和管理器{} /代码>,它是实现代码< >管理器< /C>接口的 *Manager < /C>(指针管理器> /代码>),而不是简单地管理器<

这是一种特殊的习惯用法,用于在编译时断言具体类型是否实现给定接口

在上面的代码中,如果编写
manager
类型的人忘记为其实现
GetAge
方法,代码将不会编译,编译错误将准确地告诉他们缺少哪些方法

这里可能有点多余,但是如果需要由类型实现的接口有大量的方法,这种技术可能会有所帮助

请注意,由于上述原因,上面的代码无法编译。此外,您需要确保,在空白声明中使用“<代码>和管理器{} /代码>,它是实现代码< >管理器< /C>接口的<代码> *Manager < /C>(指针<代码>管理器> /代码>),而不是简单地<代码>管理器< /代码> . < /P>可能的副本