值传递、引用传递

转载自 # go语言参数传递到底是传值还是传引用?

https://segmentfault.com/a/1190000037763005

什么是值传递

值传递,我们分析其字面意思:传递的就是值。传值的意思是:函数传递的总是原来这个东西的一个副本,一副拷贝。比如我们传递一个int类型的参数,传递的其实是这个参数的一个副本;传递一个指针类型的参数,其实传递的是这个该指针的一份拷贝,而不是这个指针指向的值。我们画个图来解释一下:

值传递.png

什么是引用传递

学习过其他语言的同学,对这个引用传递应该很熟悉,比如C++使用者,在C++中,函数参数的传递方式有引用传递。所谓引用传递是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。

引用传递.png

你可能感兴趣的:(值传递、引用传递)