1.结构体方法
Go语言不像JAVA,没有类的定义,但是依然可以为结构体定义方法。
|
|
2.还可以对包内任意类型定义任意方法,但是不能对包外的类型或者基础类型定义方法
|
|
3.方法可以与类型和类型的指针相关联
如1中的Abs方法是作用的
*Vertex指针类型上
|
|
与
|
|
的区别
v := *Vertex(3,5)
v.Scale(5)
前边的是用*Vertex指针类型接受,是引用传递,所以会改变接受者v的原始值,而后边的是用变量(后者说是对象)接受,是值传递,会对v进行一份copy,而不会对原始值做更改。