This commit is contained in:
Xargin 2016-08-10 23:16:44 +08:00
parent caa6653b3d
commit 2592af637a

View File

@ -1,6 +1,6 @@
## 7.1. 接口约定 ## 7.1. 接口约定
目前为止,我们看到的类型都是具体的类型。一个具体的类型可以准确的描述它所代表的值并且展示出对类型本身的一些操作方式就像数字类型的算术操作,切片类型的索引、附加和取范围操作。具体的类型还可以通过它的方法提供额外的行为操作。总的来说,当你拿到一个具体的类型时你就知道它的本身是什么和你可以用它来做什么。 目前为止,我们看到的类型都是具体的类型。一个具体的类型可以准确的描述它所代表的值并且展示出对类型本身的一些操作方式就像数字类型的算术操作,切片类型的取下标、添加元素和范围获取操作。具体的类型还可以通过它的内置方法提供额外的行为操作。总的来说,当你拿到一个具体的类型时你就知道它的本身是什么和你可以用它来做什么。
在Go语言中还存在着另外一种类型接口类型。接口类型是一种抽象的类型。它不会暴露出它所代表的对象的内部值的结构和这个对象支持的基础操作的集合它们只会展示出它们自己的方法。也就是说当你有看到一个接口类型的值时你不知道它是什么唯一知道的就是可以通过它的方法来做什么。 在Go语言中还存在着另外一种类型接口类型。接口类型是一种抽象的类型。它不会暴露出它所代表的对象的内部值的结构和这个对象支持的基础操作的集合它们只会展示出它们自己的方法。也就是说当你有看到一个接口类型的值时你不知道它是什么唯一知道的就是可以通过它的方法来做什么。