直接看代码测试:
//调用方
package main
import (
"fmt"
"test"
)
var ts TStruct
type TStruct struct {
Name string
Age int
}
func (ts TStruct) Print() {
fmt.Println("Name:", ts.Name)
fmt.Println("Age:", ts.Age)
}
//其他包的接口也可以在另外包中去实现
func Inter(inter packageName.TInfer) {
inter.Print()
}
func main() {
ts := TStruct{"大王", 22}
packageName.Y()
Inter(ts)
}
src/test目录下:
t.go代码:
package packageName
type TInfer interface {
Print()
}
y.go代码:
package packageName
import "fmt"
func Y() {
fmt.Println("this is Y")
}
运行main.go结果:
this is Y
Name: 大王
Age: 22
结论:
1.import后面的最后一个元素是路径,就是目录,并非包名。
2.其他包的接口也可以在另外包中去实现