Fixes #198
This commit is contained in:
chai2010
2016-01-18 11:22:04 +08:00
parent 884ada9cd0
commit 9666211cd7
71 changed files with 107 additions and 105 deletions

View File

@@ -77,7 +77,7 @@ fmt.Println(perim.Distance()) // "12"
在上面兩個對Distance名字的方法的調用中編譯器會根據方法的名字以及接收器來決定具體調用的是哪一個函數。第一個例子中path[i-1]數組中的類型是Point因此Point.Distance這個方法被調用在第二個例子中perim的類型是Path因此Distance調用的是Path.Distance。
對於一個給定的類型,其內部的方法都必有唯一的方法名但是不同的類型卻可以有同樣的方法名比如我們這里Point和Path就都有Distance這個名字的方法所以我們沒有必要非在方法名之前加類型名來消除歧義比如PathDistance。這里我們已經看到了方法比之函數的一些好處方法名可以簡短。當我們在包外調用的時候這種好處就會被放大因爲我們可以使用這個短名字而可以省略掉包的名字下面是例子
對於一個給定的類型,其內部的方法都必有唯一的方法名但是不同的類型卻可以有同樣的方法名比如我們這里Point和Path就都有Distance這個名字的方法所以我們沒有必要非在方法名之前加類型名來消除歧義比如PathDistance。這里我們已經看到了方法比之函數的一些好處方法名可以簡短。當我們在包外調用的時候這種好處就會被放大因爲我們可以使用這個短名字而可以省略掉包的名字下面是例子
```Go
import "gopl.io/ch6/geometry"