前言
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