介绍值传递与引用传递
什么是值传递?什么是引用传递? 值传递是我复制一份东西给你。然后传递给函数。在函数内部对参数的修改不会影响到原始值。 引用传递是我给你这个我手中的这个东西给你。在编程中相当于数据的地址。函数内部可以通过该地址修改原始值。
代码如下(示例):
package main
import "fmt"
func valuePass(num int) {
num = 10
}
func referencePass(num *int) {//注意:引用传递要加*号在类型之前哦*int
*num = 10
}
func main() {
num := 5
fmt.Println("刚开始的值:", num)
valuePass(num) //调用函数后
fmt.Println("修改了吗:", num) //数值不变还是一样,这是值传递
fmt.Println("刚开始的值:", num) //
referencePass(&num) //通过指针调用函数(指针代表引用传递)函数内部可以通过该地址修改原始值。
fmt.Println("修改了吗:", num)
}