函数参数传递方式

两种传递方式:

  1. 值传递:基本数据类型int系列,float系列,bool,string,数组,结构体struct。(值类型)

  2. 引用传递:指针,slice切片,map,chan管道,interface等都是引用传递。(引用类型)

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

值传递和引用传递的使用特点:

  1. 值类型默认是值传递,变量直接存储值,内存通常在栈中分配。

  2. 引用类型默认是引用传递,变量存储的是一个地址,这个地址对应的空间才真正的存储数据,内存通常在堆中分配。当没有任何变量引用这个地址时,该地址对应的数据空间就变成了一个垃圾。由GC回收。

  3. 如果希望函数内的变量能修改函数外的变量,可以传入变量的地址 &,函数内以指针的方式操作变量。从而达到引用传递的效果。

posted @   程序马2023  阅读(34)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示