3.2.5 传参方式

有些编程语言的传参方式包括值传递和引用传递等,但在Go语言中只有一种参数传递方式,即值传递!

在Go语言中传递参数时,我们应该注意以下方面。

(1)Go语言中所有的传参都是值传递(传值),进行参数传递时传的都是备份(副本)。

(2)参数类型有值类型和引用类型之分。如果副本是值类型(数值、字符串、结构体等),则在函数中无法修改原数据;如果是引用类型(切片、映射、通道、指针等),则可以修改原数据。

(3)引用类型的参数是通过指针来维护同一个变量,从而实现传递“引用”的,但其传递的实质仍然是复制后的数据结构。

(4)引用传递与引用类型是两个不同的概念。