直接看代码测试:
//调用方
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.其他包的接口也可以在另外包中去实现
本文通过一个具体的Go语言代码示例,演示了如何在一个包中定义接口并在另一个包中实现该接口,同时展示了如何从调用方包中进行调用。这涉及到包的导入、接口的定义与实现,以及不同包之间的交互。
876

被折叠的 条评论
为什么被折叠?



