关于go语言的学习经历2:2017-1-8

Mr_Zhang_920717 · · 2328 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

ps:周末有时间学习,所以连记了两个笔记

关于go语言中的接口:接口赋值

go中的接口按《go语言编程》的介绍来讲,是非常重要的。

关于接口的实现,有一句概念性的话:Go语言中,一个类只需要实现了接口要求的所有函数,我们就说这个类实现了该接口 (重点)

比如有个接口(本不想用原书的例子,但是这么描述真的很简单)

type Integer int//新增了一个基于int的类型 Integer

type MyInterface interface {//这是一个接口 这是一个go语言接口 啊,这个接口就长这德行呀

Less(b Integer) Integer

Add(b intteger)

}

接下来是实现这个接口方式,根据概念而言

func (a Integer) Less(b Integer) Integer{//参数类型简介:(a Integer),代表这个方法绑定在类型 Integer上面,相当于给一个类提供了类方法;Less:方法名;b:形参名字

//做点事情。。。

}

func (a *Integer) Add(b Integer){

//做点指针该干的事情

}

重点在于是使用的过程中


func main(){//很像c的main函数呀,真的很像

var a Integer = 1

var b Integer = 2

var c MyInterface = &a//至于为什么要取a值的引用,而非a值,是为了保持实现接口中参数类型的统一,至于原因 参考《go...》你懂的这本书

c.Add(b)//这步很关键 对我这样的小白而言,差点遗忘了c这个变量值,不是一个Integer的类型,它是一个接口类型的变量

//上面这个叫 c 的接口, 干了一件事情,就是用了Add这个方法,且跟 b 这个变量发生了一些暧昧的事情,可联想 苍老师···

//c 这个接口干完了 联想苍老师的事情后,得益者,是变量 a, 因为 c用了 a 的引用地址

//soso

fmt.Println(a)

//这步你会得到一个3的值,这个实现的过程,来自接口 MyInterface

}


ps:苍老师也是一个女神···

ps:《go语言编程》是我主要的参考书籍,所以以后此书简称《go...》,为了简洁的编程哲学致敬


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:Mr_Zhang_920717

查看原文:关于go语言的学习经历2:2017-1-8

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2328 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传