go 面相对象
只保留了组合(composition)这个最基础的特性
对象传递
Go语言和C语言一样,类型都是基于值传递的。要想修改变量的值,只能传递指针。...Go语言中的面向对象最为直观,也无需支付额外的成本。如果要求对象必须以指针传递, 这有时会是个额外成本,因为对象有时很小(比如4字节),用指针传递并不划算。...只有在你需要修改对象的时候,才必须用指针
var a Integer = 1 //传入b=2
func (a *Integer) Add(b Integer) {
*a += b // 执行方法后...x是"可被寻址的",且&x的方法集中包含方法m,则 x.m()为(&x).m()的速记(快捷方式)。...即:dept1是可被寻址的,且&dept1的方法集中包含方法Relocate(),则 dept1.Relocate()为&dept1.Relocate()的快捷方式。