2 go
我正在使用类似下面的功能
import (
"m5/cmd/models"
)
func TypeCommand(m Modules) string {
…
}
Run Code Online (Sandbox Code Playgroud)
现在我要改变
func (m models.Modules) TypeCommand() string {
}
Run Code Online (Sandbox Code Playgroud)
现在我收到错误消息“未解决的类型模块”,为什么?第一个函数被编译...
您不能从定义它们的包外部将方法添加到类型。如果您确实有必要,那么解决方法是定义一个新类型,该新类型将嵌入导入的类型并将其扩展。然后,您将得到一个包含所有原始方法和新方法的类型:
import (
"m5/cmd/models"
)
type myModule struct {
models.Modules
}
func (m myModule) TypeCommand() string {
// method code here
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,myModule将具有所有导出的字段和方法model.Modules以及TypeCommand()方法。
| 归档时间: |
|
| 查看次数: |
290 次 |
| 最近记录: |