函数参数传递方式
两种传递方式:
-
值传递:基本数据类型int系列,float系列,bool,string,数组,结构体struct。(值类型)
-
引用传递:指针,slice切片,map,chan管道,interface等都是引用传递。(引用类型)
其实不管是值传递还是引用传递,传递给函数的都是变量的副本,不同的是,值传递的是值的拷贝,引用传递的是地址的拷贝。一般来说,地址拷贝效率高,因为数据量小,而值拷贝决定拷贝的数据大小,数据越大,效率越低。
值传递和引用传递的使用特点:
-
值类型默认是值传递,变量直接存储值,内存通常在栈中分配。
-
引用类型默认是引用传递,变量存储的是一个地址,这个地址对应的空间才真正的存储数据,内存通常在堆中分配。当没有任何变量引用这个地址时,该地址对应的数据空间就变成了一个垃圾。由GC回收。
-
如果希望函数内的变量能修改函数外的变量,可以传入变量的地址 &,函数内以指针的方式操作变量。从而达到引用传递的效果。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?