值类型和引用类型

news/2024/4/20 15:49:05/文章来源:https://blog.csdn.net/NancyLCL/article/details/128964855

一、值类型和引用类型示例:

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

        引用类型:如:指针,slice切片,map,管道chan,interface等。

二、一般程序的内存分布情况: 

三、值类型和引用类型的使用:

        1、值类型:变量直接存储值,内存通常在栈中分配

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

        3、内存的栈区和堆区:

 

golang默认都是采用值传递,即拷贝传递,也就是深拷贝;而引用传递则是浅拷贝。只有一些特定的类型,如:slice,map,channel,function,pointer这些天生就是引用类型,是通过引用传递的。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_255888.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

当我把ChatGPT机器人拉到微信群里,群友都玩疯了!!!

大家好呀,我是飘渺!最近ChatGPT可谓是火出天际,人工智能领域的股票最近都被这家伙带的一路狂飙,如果到现在你都没听过或使用过的话那你可能是有点out了。今天的文章并不打算介绍ChatGPT,而是要带大家玩一件好玩的事。将…

QT开发安卓程序初识

Qt | Qt For Android、Qt5.14.2安卓开发环境搭建详细步骤 测试结果如下:

ccc-New Optimizers for Deep Learning-Chung Ming Chien(3)

不会涉及到Optimizers 的数学证明! 文章目录Some NotationsDifferent OptimizersSGDSGD with Momentum(SGDM)AdagradRMSPropAdamOptimizers: Real ApplicationAdam vs SGDMTowards Improving AdamAMSGradAdaBoundTowards Improving SGDMLR range testCyc…

设计模式:建造者模式教你创建复杂对象

一、问题场景 当我们需要创建资源池配置对象的时候&#xff0c;资源池配置类里面有以下成员变量: 如果我们使用new关键字调用构造函数&#xff0c;构造函数参数列表就会太长。 如果我们使用set方法设置字段值&#xff0c;那minIdle<maxIdle<maxTotal的约束逻辑就没地方…

数据分析实战项目3:RFM用户分群

目录1、RFM模型介绍2、Excel实际RFM划分案例3、RFM案例3.1 数据加载和基本信息查看3.2 数据预处理和RFM的初始值计算3.3 RFM区间和划分和分值计算3.4 RFM计算结果保存3.4.1 保存到excel3.4.2 保存到数据库3.5 RFM计算结果可视化3.6 结果分析&#xff08;营销建议&#xff09;3.…

干货|PCB板上的丝印位号与极性符号的组装性设计

PCB板上的字符很多&#xff0c;那么字符在后期起着那些非常重要的作用呢&#xff1f;一般常见的字符:“R”代表着电阻&#xff0c;"C”代表着电容&#xff0c;“RV”表示的是可调电阻&#xff0c;“L”表示的是电感&#xff0c;“Q”表示的是三极管&#xff0c;“D”表示的…

Linux系列文章 —— 进程概念(图解PCB、进程的描述、状态、创建、组织、查看详解)

系列文章目录 文章目录系列文章目录前言一、冯诺依曼体系结构二、操作系统三、进程概念进程概念描述进程&#xff08;PCB&#xff09;组织进程查看进程创建进程&#xff08;fork&#xff09;进程队列进程状态运行状态 - R睡眠状态 - S停止状态 - T僵尸进程 - Z孤儿进程进程优先…

Tomcat构建高负载WEB服务器(一)

前言Tomcat部署Tomcat多实例 1.前言 1.1什么是JAVA虚拟机 所谓虚拟机&#xff0c;就是一台虚拟的计算机。他是一款软件&#xff0c;用来执行一系列虚拟计算机指令。大体上&#xff0c;虚拟机可以分为系统虚拟机和程序虚拟机。大名鼎鼎的VisualBox、VMware就属于系统虚拟机。他们…

Vue - 驼峰和短横线分割命名注意事项

Vue - 驼峰和短横线分割命名注意事项一. 驼峰和短横线分割命名注意事项1.1 组件注册命名1.2 父子组件数据传递时命名1.3 父子组件函数传递一. 驼峰和短横线分割命名注意事项 我们一般定义组件的方式有两种&#xff1a; 短横线分隔命名&#xff1a;kebab-case。首字母大写命名…

PyQt5常用控件大全(详尽方法 + 实例操作,持续更新中…)

1. Label&#xff1a;标签控件 1.1 简介 标签控件主要用于显示用户不能编辑的文本&#xff0c;标识窗体上的对象&#xff08;例如&#xff1a;给文本框、列表框添加&#xff0c;描述信息等&#xff09;。它对应PyQt5中的QLabel类&#xff0c;Label控件在本质上是QLabel类的一个…

进阶技术:Linux Arm32是如何调用C Main的

前言&#xff1a; Linux x64通过qemu的rdinit方式调用的C Main&#xff0c;实际上是通过load_elf_binary(加载和解析elf)和start_thread(设置Ip和sp)&#xff0c;用缺页异常来调用。关于这点可以看这篇文章&#xff1a;点击查看。那么Arm32里面是如何调用C Main的呢&#xff1f…

BGP 属性分类及路由优先级选择

BGP 属性分类及路由优先级选择一、常见BGP属性类型1、公认必遵属性&#xff08;所有BGP路由器必须遵守的原则&#xff09;2、公认可遵属性&#xff08;所有路由器都能识别但不一定遵守&#xff09;3、可选传递属性&#xff08;不是所有BGP路由器都能识别&#xff0c;但是所有BG…

Dubbo3简单使用

Dubbo3简单使用 &#x1f449; 使用Spring Boot实现Dubbo3&#xff0c;请参见以下地址。 # Dubbo3官网地址 https://cn.dubbo.apache.org/zh/# 使用SpringBoot实现Dubbo3的地址 https://cn.dubbo.apache.org/zh/docs3-v2/java-sdk/quick-start/spring-boot/# 该项目的git地址…

【Spark分布式内存计算框架——Spark Core】3. RDD 创建、RDD函数(上)

2.4 RDD 分区数目 在讲解 RDD 属性时&#xff0c;多次提到了分区&#xff08;partition&#xff09;的概念。分区是一个偏物理层的概念&#xff0c;也是 RDD 并行计算的核心。数据在 RDD 内部被切分为多个子集合&#xff0c;每个子集合可以被认为是一个分区&#xff0c;运算逻…

ChatGPT使用

ChatGPT使用1使用全局模式2无痕模式3日期4短信平台5注册6使用ChatGPT1使用全局模式 因为后面注册时候的号码是印度尼西亚&#xff0c;所以这里我也选择印度尼西亚。 2无痕模式 打开浏览器无痕模式 由于后面网易都是英文&#xff0c;可以在无痕模式里面使用插件 3日期…

mycat学习

安装部署下载1&#xff1a;mycat2-install-template-1.21.zip下载2&#xff1a;mycat2-1.21-release-jar-with-dependencies.jar解压mycat2-install-template-1.21.zipunzip mycat2-install-template-1.21.zip把mycat2-1.21-release-jar-with-dependencies.jar放在mycat/lib中修…

Python列表的元素比较

在用python处理多个列表元素时&#xff0c;需要处理的信息一般比较多且杂。这时运用Python列表元素比较的方法&#xff0c;就能快速处理列表信息&#xff0c;能更轻松访问每个元素。1 问题如何运用Python列表的元素比较解决问题。2 方法方法一 for循环&#xff0c;此情况是list…

车道线检测-Eigenlanes 论文学习笔记

论文&#xff1a;《Eigenlanes: Data-Driven Lane Descriptors for Structurally Diverse Lanes》 代码&#xff1a;https://github.com/dongkwonjin/Eigenlanes 核心&#xff1a;在 Eigenlane Space 中检测车道线 创新点 Eigenlane&#xff1a;数据驱动的车道描述符&#xff…

VHDL语言基础-组合逻辑电路-基本逻辑门电路

数字电路中的四种基本操作是与、或、非及触发器操作&#xff0c;前三种为组合电路&#xff0c;后一种为时序电路。与非 、或非和异或的操作仍然是与、或、非的基本操作。与、或、非、与非、或非和异或等基本逻辑门电路为常用的门电路。 二输入与非门是一种常用的简单逻辑电路&a…

RabbitMQ 部署指南

RabbitMQ 部署指南RabbitMQ部署指南1.单机部署1.1.下载镜像1.2.安装MQ2.安装DelayExchange插件2.1.下载插件2.2.上传插件2.3.安装插件3.集群部署2.1.集群分类2.2.获取cookie2.3.准备集群配置2.4.启动集群2.5.测试2.5.1.数据共享测试2.5.2.可用性测试4.镜像模式4.1.镜像模式的特…