先说结论:Go 语言中的所有东西都是以值传递的。
传值,也叫值传递。是指在调用函数时,将实际参数复制一份传递到函数中。这样在函数中如果对参数进行修改,则不会影响到实际参数。
简单来讲,值传递,就是传递该参数的副本,是复制了一份的,本质上不能认为是同一个东西,指向的不是同一个内存地址。
但是如果传递过去的值是指向内存空间的地址,那么是可以对这块内存空间做修改的。也就是说这两个内存地址,其实是指针的指针,其根源都指向着同一个指针。
先说结论:Go 语言中的所有东西都是以值传递的。
传值,也叫值传递。是指在调用函数时,将实际参数复制一份传递到函数中。这样在函数中如果对参数进行修改,则不会影响到实际参数。
简单来讲,值传递,就是传递该参数的副本,是复制了一份的,本质上不能认为是同一个东西,指向的不是同一个内存地址。
但是如果传递过去的值是指向内存空间的地址,那么是可以对这块内存空间做修改的。也就是说这两个内存地址,其实是指针的指针,其根源都指向着同一个指针。