diff --git a/eBook/10.5.md b/eBook/10.5.md index b6515cd..27032d0 100644 --- a/eBook/10.5.md +++ b/eBook/10.5.md @@ -100,7 +100,7 @@ func main() { 当两个字段拥有相同的名字(可能是继承来的名字)时该怎么办呢? -1. 外层名字会覆盖内层名字(但是两者的内存空间都保留),这提供了一种重载字段或方法的方式 +1. 外层名字会覆盖内层名字(但是两者的内存空间都保留),这提供了一种重载字段或方法的方式 2. 如果相同的名字在同一级别出现了两次,如果这个名字被程序使用了,将会引发一个错误(不使用没关系)。没有办法来解决这种问题引起的二义性,必须由程序员自己修正。 例子: diff --git a/eBook/10.6.md b/eBook/10.6.md index a560d64..ff4c9f6 100644 --- a/eBook/10.6.md +++ b/eBook/10.6.md @@ -658,7 +658,7 @@ func (i *Integer) String() string { 在 Go 中,类型就是类(数据和关联的方法)。Go 不知道类似面向对象语言的类继承的概念。继承有两个好处:代码复用和多态。 -在 Go 中,代码复用通过组合和委托实现,多态通过接口的使用来实现:有时这也叫 **组件编程(component programming)**。 +在 Go 中,代码复用通过组合和委托实现,多态通过接口的使用来实现:有时这也叫 **组件编程(component programming)**。 许多开发者说相比于类继承,Go 的接口提供了更强大、却更简单的多态行为。 diff --git a/eBook/10.7.md b/eBook/10.7.md index 0482285..57bf14c 100644 --- a/eBook/10.7.md +++ b/eBook/10.7.md @@ -37,7 +37,7 @@ func (tn *TwoInts) String() string { 输出: two1 is: (12/10) - two1 is: (12/10) + two1 is: (12/10) two1 is: *main.TwoInts two1 is: &main.TwoInts{a:12, b:10} @@ -45,7 +45,7 @@ func (tn *TwoInts) String() string { **备注** -不要在 `String()` 方法里面调用涉及 `String()` 方法的方法,它会导致意料之外的错误,比如下面的例子,它导致了一个无限迭代(递归)调用(`TT.String()` 调用 `fmt.Sprintf`,而 `fmt.Sprintf` 又会反过来调用 `TT.String()`...),很快就会导致内存溢出: +不要在 `String()` 方法里面调用涉及 `String()` 方法的方法,它会导致意料之外的错误,比如下面的例子,它导致了一个无限迭代(递归)调用(`TT.String()` 调用 `fmt.Sprintf`,而 `fmt.Sprintf` 又会反过来调用 `TT.String()`...),很快就会导致内存溢出: ```go type TT float64