文件名称:方法和struct的关系图-gjb 5880-2006 软件配置管理
文件大小:5.91MB
文件格式:PDF
更新时间:2024-06-27 11:07:29
Go Web 编程
图2.8 方法和struct的关系图 很显然,这样的实现并不优雅,并且从概念上来说"面积"是"形状"的一个属性,它是属于这个特定的形状的,就像长 方形的长和宽一样。 基于上面的原因所以就有了method的概念,method是附属在一个给定的类型上的,他的语法和函数的声明语法几乎 一样,只是在func后面增加了一个receiver(也就是method所依从的主体)。 用上面提到的形状的例子来说,method area() 是依赖于某个形状(比如说Rectangle)来发生作用 的。Rectangle.area()的发出者是Rectangle, area()是属于Rectangle的方法,而非一个外围函数。 更具体地说,Rectangle存在字段length 和 width, 同时存在方法area(), 这些字段和方法都属于Rectangle。 用Rob Pike的话来说就是: "A method is a function with an implicit first argument, called a receiver." method的语法如下: 66