From e3e4cae0c0ed0c20cabafff6b1f97b1d26fffc36 Mon Sep 17 00:00:00 2001 From: leisore Date: Wed, 26 Aug 2015 11:05:23 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9CH11.1=E7=9A=84=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eBook/11.1.md | 16 ++++++++-------- eBook/directory.md | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/eBook/11.1.md b/eBook/11.1.md index b13a782..0ec1d50 100644 --- a/eBook/11.1.md +++ b/eBook/11.1.md @@ -26,17 +26,17 @@ Go ![](images/11.1_fig11.1.jpg?raw=true) -此处的方法指针表是通过运行时反射构建的。 +此处的方法指针表是通过运行时反射能力构建的。 -类型(比如结构体)实现接口方法集中的方法,每一个方法的实现说明了此方法是如何作用于该类型的:** 它们实现接口 **,同时方法集也构成了该类型的接口。实现了 `Namer` 接口类型的变量可以赋值给 `ai` (接收者值),此时方法表中的指针会指向被实现的接口方法。当然如果另一个类型(也实现了该接口)的变量被赋值给`ai`,这二者(译者注:指针和方法实现)也会随之改变。 +类型(比如结构体)实现接口方法集中的方法,每一个方法的实现说明了此方法是如何作用于该类型的:**即实现接口**,同时方法集也构成了该类型的接口。实现了 `Namer` 接口类型的变量可以赋值给 `ai` (接收者值),此时方法表中的指针会指向被实现的接口方法。当然如果另一个类型(也实现了该接口)的变量被赋值给`ai`,这二者(译者注:指针和方法实现)也会随之改变。 -** 类型不需要显式声明它实现了某个接口:接口被隐式地实现。多个类型可以实现同一个接口 **。 +**类型不需要显式声明它实现了某个接口:接口被隐式地实现。多个类型可以实现同一个接口**。 -** 实现某个接口的类型(除了实现接口方法外)可以有其他的方法**。 +**实现某个接口的类型(除了实现接口方法外)可以有其他的方法**。 -** 一个类型可以实现多个接口 **。 +**一个类型可以实现多个接口**。 -** 接口类型可以包含一个实例的引用, 该实例的类型实现了此接口(接口是动态类型) **。 +**接口类型可以包含一个实例的引用, 该实例的类型实现了此接口(接口是动态类型)**。 即使接口在类型之后才定义,二者处于不同的包中,被单独编译:只要类型实现了接口中的方法,它就实现了此接口。 @@ -83,7 +83,7 @@ func main() { 上面的程序定义了一个结构体 `Square` 和一个接口 `Shaper`,接口有一个方法 `Area()`。 -在 `main()` 方法中创建了一个 `Square` 的实例。在主程序外边定义了一个接收者类型是 `Square`方法 `Area()`,用来计算正方形的面积:结构体 `Square` 实现了接口 `Shaper` 。 +在 `main()` 方法中创建了一个 `Square` 的实例。在主程序外边定义了一个接收者类型是 `Square`方法的 `Area()`,用来计算正方形的面积:结构体 `Square` 实现了接口 `Shaper` 。 所以可以将一个 `Square` 类型的变量赋值给一个接口类型的变量:`areaIntf = sq1` 。 @@ -207,7 +207,7 @@ func main() { Value of the asset is 2308.800049 Value of the asset is 66500.000000 -** 一个标准库的例子 ** +**一个标准库的例子** `io`包里有一个接口类型 `Reader`: diff --git a/eBook/directory.md b/eBook/directory.md index 23e1f22..22d8ea9 100644 --- a/eBook/directory.md +++ b/eBook/directory.md @@ -93,7 +93,7 @@ - 10.6 [鏂规硶](10.6.md) - 10.7 [绫诲瀷鐨 String() 鏂规硶鍜屾牸寮忓寲鎻忚堪绗(10.7.md) - 10.8 [鍨冨溇鍥炴敹鍜 SetFinalizer](10.8.md) -- 绗11绔狅細[鎺ュ彛锛坕nterface锛変笌鍙嶅皠锛坮eflection锛塢(11.0.md)锛 +- 绗11绔狅細[鎺ュ彛锛坕nterface锛変笌鍙嶅皠锛坮eflection锛塢(11.0.md) - 11.1 [鎺ュ彛鏄粈涔圿(11.1.md) ## 绗笁閮ㄥ垎锛欸o 楂樼骇缂栫▼