mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2025-08-13 02:02:18 +00:00
@@ -9,9 +9,9 @@ func (p *Point) ScaleBy(factor float64) {
|
||||
}
|
||||
```
|
||||
|
||||
這個方法的名字是`(*Point).ScaleBy`。這里的括號是必鬚的;沒有括號的話這個表達式可能會被理解爲`*(Point.ScaleBy)`。
|
||||
這個方法的名字是`(*Point).ScaleBy`。這里的括號是必須的;沒有括號的話這個表達式可能會被理解爲`*(Point.ScaleBy)`。
|
||||
|
||||
在現實的程序里,一般會約定如果Point這個類有一個指針作爲接收器的方法,那麽所有Point的方法都必鬚有一個指針接收器,卽使是那些併不需要這個指針接收器的函數。我們在這里打破了這個約定隻是爲了展示一下兩種方法的異同而已。
|
||||
在現實的程序里,一般會約定如果Point這個類有一個指針作爲接收器的方法,那麽所有Point的方法都必須有一個指針接收器,卽使是那些併不需要這個指針接收器的函數。我們在這里打破了這個約定隻是爲了展示一下兩種方法的異同而已。
|
||||
|
||||
隻有類型(Point)和指向他們的指針(*Point),才是可能會出現在接收器聲明里的兩種接收器。此外,爲了避免歧義,在聲明方法時,如果一個類型名本身是一個指針的話,是不允許其出現在接收器中的,比如下面這個例子:
|
||||
|
||||
|
Reference in New Issue
Block a user