增加图注释
This commit is contained in:
4
02.5.md
4
02.5.md
@@ -30,6 +30,8 @@
|
||||
|
||||

|
||||
|
||||
图2.8 方法和struct的关系图
|
||||
|
||||
很显然,这样的实现并不优雅,并且从概念上来说"面积"是"形状"的一个属性,它是属于这个特定的形状的,就像长方形的长和宽一样。
|
||||
|
||||
基于上面的原因所以就有了`method`的概念,`method`是附属在一个给定的类型上的,他的语法和函数的声明语法几乎一样,只是在`func`后面增加了一个receiver(也就是method所依从的主体)。
|
||||
@@ -95,6 +97,8 @@ method的语法如下:
|
||||
|
||||

|
||||
|
||||
图2.9 不同struct的method不同
|
||||
|
||||
在上例,method area() 分别属于Rectangle和Circle, 于是他们的 Receiver 就变成了Rectangle 和 Circle, 或者说,这个area()方法 是由 Rectangle/Circle 发出的。
|
||||
|
||||
>值得说明的一点是,图示中method用虚线标出,意思是此处方法的Receiver是以值传递,而非引用传递,是的,Receiver还可以是指针, 两者的差别在于, 指针作为Receiver会对实例对象的内容发生操作,而普通类型作为Receiver仅仅是以副本作为操作对象,并不对原实例对象发生操作。后文对此会有详细论述。
|
||||
|
||||
Reference in New Issue
Block a user