当前位置: 首页 > news >正文

Golang 函数参数的传递方式 值传递,引用传递

基本介绍


我们在讲解函数注意事项和使用细节时,已经讲过值类型和引用类型了,这里我们再系统总结一下,因为这是重难点,值类型参数默认就是值传递,而引用类型参数默认就是引用传递。

 

两种传递方式(函数默认都是值拷贝)


1)值传递(针对基本数据类型,在传递参数的时候进行了值拷贝)

2)引用传递(传递的是一个地址)

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

结构体默认是值拷贝,那么就会拷贝一个很大的数,这样效率就低下,如果传递的是结构体的地址。那么效率就会很高。区别主要在于效率的问题。

 

值类型和引用类型


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

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

http://www.lryc.cn/news/106855.html

相关文章:

  • K8s影响Pod调度和Deployment
  • 透明代理和不透明代理
  • 1424. 对角线遍历 II;2369. 检查数组是否存在有效划分;1129. 颜色交替的最短路径
  • 【漏洞复现】Metabase 远程命令执行漏洞(CVE-2023-38646)
  • Linux 9的repo for OVS build
  • DOCTYPE 是什么作用?
  • KubeSphere 3.4.0 发布:支持 K8s v1.26
  • 自然语言文本分类模型代码
  • Prometheus实现系统监控报警邮件
  • could not import go.etcd.io/etcd/clientv3-go
  • MySQL的行锁、表锁触发
  • mysql-入门笔记-3
  • 3分钟创建超实用的中小学新生录取查询系统,现在可以实现了
  • Redis 变慢了 解决方案
  • 远程仓库的操作
  • 一个监控系统的典型架构
  • 让GPT人工智能变身常用工具-中
  • HCIP中期实验
  • 《向量数据库指南》——向量数据库Milvus Cloud、Pinecone、Vespa、Weaviate、Vald、GSI 、 Qdrant选哪个?
  • python与深度学习(十一):CNN和猫狗大战
  • 经典CNN(三):DenseNet算法实战与解析
  • 学习笔记——压力测试案例,监控平台
  • sqlite 踩坑
  • 【论文笔记】神经网络压缩调研
  • 红外NEC通信协议
  • 数据分析DAY1
  • 算法通关村—迭代实现二叉树的前序,中序,后序遍历
  • 二叉搜索树(BST)的模拟实现
  • 【MFC】01.MFC框架-笔记
  • 基于ArcGIS污染物浓度及风险的时空分布