new 和 make的区别

newmake 的区别总结**

特性 new make
用途 用于所有类型,分配内存并返回指针 用于初始化切片、映射和通道类型,返回已初始化的对象
返回值 返回类型的指针 返回的是切片、映射或通道本身,而不是指针
初始化内容 分配内存并初始化为零值 对切片、映射、通道进行初始化并准备好可以使用
适用类型 适用于所有类型(基础类型、结构体、数组等) 仅适用于切片、映射和通道类型
零值初始化 是的,返回的指针指向的对象的字段会被初始化为零值 是的,初始化后的切片、映射和通道会具备默认行为(如空映射、空切片等)

何时使用 newmake**

  • 使用 new 来分配内存并初始化零值时,通常是当你需要一个类型的指针并且不关心具体的初始化值(零值)时。
  • 使用 make 来初始化和分配内存给切片、映射或通道,这些类型需要显式初始化才能使用。

总结

  • new 返回一个指向新分配内存的指针,并且将内存初始化为零值
  • make 仅用于切片、映射和通道的初始化,它为这些引用类型分配内存并准备好可用的结构,返回初始化后的对象
posted @   牛马chen  阅读(8)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示