1.1.1. 一、函数参数的传递方式:

1、值传递。函数内部修改参数值,影响不了函数外部的变量值。

2、引用传递。函数内部修改参数值,外部的变量值一起改变。

其实,不管是值传递还是引用传递,传递给函数的都是变量的副本,不同的是,值传递的是值的拷贝,引用传递的是地址的拷贝,一般来说,地址拷贝效率高,因为数据量小,而值拷贝决定拷贝的数据大小,数据越大,效率越低。

1.1.2. 二、值类型和引用类型。

1、 值类型:基本数据类型 int 系列, float 系列, bool, string 、数组和结构体 struct 。

2、 引用类型:指针、slice 切片、map、管道 chan、interface 等都是引用类型。

值类型默认是值传递,引用类型默认是引用传递。

如果希望函数内的变量能修改函数外的变量,可以传入变量的地址&,函数内以指针的方式操作变量。从效果上看类似引用 。

results matching ""

    No results matching ""