Go中使用*号表示指针,但是没有指针算数,不能对其进行加减。同时内存管理都由Go来负责,不需要拖动释放内存。
Go中的函数接收者,可以为值类型,也可以是引用类型。
看代码:
运行结果:
12
0
12
0
可以直接在这里查看代码运行情况:
http://play.golang.org/p/ZleGPoyuEp
从上面的代码中可以看出:
1、Go中函数接收器可以理解为函数的一个参数,如果传的是引用,就可以改变调用函数中的值。
2、除了接收器中需要使用*来表明指针,在调用函数和被调用函数中*号和&符号均不是必须的,Go会在调用函数和使用参数时时根据接收器做转换。