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

go中new和make有什么异同?

相同点:都是给变量分配内存

不同点:

  1. 作用类型不同。new通常给int、string、数组类型的变量分配内存,而make通常给slice、map、channel分配内存。
  2. 返回值类型不同。new返回指向变量的指针,make返回的是变量本身
  3. new分配内存空间后,会给变量(不是指针)初始化为0值。而make会根据不同的类型进行初始化,对于切片,会初始化长度和容量;对于映射,会创建一个空的map;对于通道,会创建一个指定缓冲区大小的channel。
http://www.dtcms.com/a/132823.html

相关文章:

  • [LeetCode 1306] 跳跃游戏3(Ⅲ)
  • AD利用转换工具快速生成异形焊盘
  • 从Ampere到Hopper:GPU架构演进对AI模型训练的颠覆性影响
  • TLA:用于接触-丰富操作的触觉-语言-动作模型
  • Profibus DP转ModbusTCP网关通讯案例解析
  • Arrays.asList() 隐藏的陷阱
  • 论文导读 | 基于GPU的子图匹配算法
  • #4 我们为什么使用物联网? 以及 物联网的整体结构
  • Python六大数据类型与可变类型
  • Thread类的基本用法
  • 用Webpack 基础配置快速搭建项目开发环境
  • 支持多项检测的多段环形光源 助力金属零件缺陷检测
  • Wincc7.5 对于此版本的wincc,许可证的存储介质必须插入usb接口
  • 项目风险的早期识别与应对清单
  • Swift观察机制新突破:如何用AsyncSequence实现原子化数据监听?
  • prime 1 靶场笔记(渗透测试)
  • 开源技术如何助力中小企业实现财务管理自主化?
  • 将你的 Rust + WebAssembly 项目发布到 npm
  • 开源项目 | 17款云原生安全相关的扫描和平台类开源工具
  • 开关电源输出过冲抑制设计方法
  • 选导师原理
  • 无人机3S与4S电池技术对比!
  • 【数据结构】反射、枚举以及lambda表达式
  • Spring 框架源码
  • 【更新至2023年】2000-2023年中国气候政策不确定性指数(全国、省、市三个层面)
  • C# 13新特性 - .NET 9
  • linux命令七
  • 老龄化遇上数字化丨适老化改造:操作做“减法”,服务做“加法”
  • Guava Cache的refreshAfterWrite机制
  • CExercise_06_1递归_1汉诺塔_2对于n个盘子的汉诺塔问题,给定一个整数m,要求在控制台打印出m + 1步的移动轨迹。