interface{}intreface{}structinterface{}struct
实操
我们来看我写的一个简单例子:
interface{}interface{}structstructinterface{}
main()New*()interface{}interface{}interface{}
package main
import (
spwlt "dcos-webshell/studypkgs/wlt"
spxm "dcos-webshell/studypkgs/xiaoming"
"fmt"
)
func main() {
tmp := spxm.NewXM("wang")
fmt.Println("your name => ")
tmp.Speak("9527")
fmt.Println(tmp.Say("sober"))
wlt := spwlt.NewWlt()
wlt.Say("sober.wang")
wlt.Speak("wangshen")
}
这个时候你需要像下面这样定义你的包
└── studypkgs
├── stady_pkgs.go // 这里定义接口
├── wlt
│ └── wlt.go // 这里实现接口的不同方式
└── xiaoming
└── xiaoming.go
社区中的例子
一个非常棒的值得学习的项目:
https://github.com/abronan/valkeyrie