golfing interface学习

来源:互联网 发布:苹果电脑c语言编程软件 编辑:程序博客网 时间:2024/06/08 06:59

golfing的interface比较像C++里的纯虚函数一样,不过因为golfing没有class的概念,都是struct,struct里只有纯数据,没有function;

但可以type (receiver) fund这样来定义实现类似C++里的class function 可以直接用 点 来访问

下面一个例子讲了这些知识点:

package mainimport ("fmt")type Character interface {Who() string}type Human struct {age  intname string}func (this Human) Who() string {return this.name}type Vimpire struct {man Humanatk int}func (this Vimpire) Who() string {return this.man.name + " here"}func main() {var avata Charactersmall := Vimpire{Human{1, "kate"}, 10}avata = smallfmt.Println(avata.Who())}

输出:

/usr/local/Cellar/go/1.4.2/libexec/bin/go build -i [/Users/allen/Go/src/mathapp]

成功: 进程退出代码 0.

/Users/allen/Go/src/mathapp/mathapp [/Users/allen/Go/src/mathapp]

kate here

成功: 进程退出代码 0.


0 0
原创粉丝点击