我是真正的新go语言和我想看看如何封装的真正工作中去。
我有以下结构
-- package a
-a_core.go
-a.go
-models.go
-- main.go
在 模型。去 我有结构为请求和响应api呼叫,
a.去 具有一个空的结构,这是私人和公共接口,我想让与的各种方法
a_core.去 只是有一些商业逻辑,这将在我的口执行情况
然后,我有一个 主要的。去 哪里,我只是呼吁公众的接口。
代码中的一个。去
package a
type myFunction struct{}
type MyFunc interface {
Create(myData *MyData) (*MyData, error)
Fetch(test string)
Delete(test string)
}
//Concrete implementations that can be accessed publicly
func (a *myFunction) Create(data *MyData) (*MyData, error) {
return nil, nil
}
func (a *myFunction) Fetch(test string) {
}
func (a *myFunction) Delete(test string) {
}
在主要的。走,我叫我的第一个接口创造MyData指针的价值观
data := &a.MyData{
/////
}
result, err := a.MyFunc.Create(data)
我得到的以下错误,当我这么做
过几个论点在叫到一个.MyFunc.创建
不能使用数据(类型的变量*一个.MyData)。MyFunc价值的参数。MyFunc.创建:缺少方法CreatecompilerInvalidIfaceAssign
请我在做什么错的?