比如 我要把Beahavior 放到叫interfaces的目录,结构体Dog单独放一个叫model的目录,Eat放到 其它目录文件实现。怎么做呢?
```go
package main
import (
"fmt"
)
// 定义接口
type Beahavior interface {
Run() string
Eat(thing string) string
}
type Dog struct {
Name string
}
func (d * Dog) Eat(thing string ) string {
return "hello i am eating "+thing
}
func (d * Dog) Run() string {
return "hello i am running"
}
func main() {
d := Dog{Name:"旺财"}
res := d.Eat("apple")
fmt.Println(res)
}
```
比如 下面好像行不通,提示无法解析model.Dog
demo/model/s.go //demo是根目录
```go
import "demo/model"
func (d * model.Dog) Eat(thing string ) string {
return "hello i am eating "+thing
}
```
<a href="/user/yleoer" title="@yleoer">@yleoer</a> 就是你理解 的那样,是我自己陷入 了一个思维 误区 ,谢谢解答
#4
更多评论
Soga,因为实现接口需要接收一个结构体,利用同目录,同包,两个文件中结构体共用 的思路 吗?咋给java不一样呢。java entiy文件,实现接口文件,是能放不同目录的。被搞晕了
#2