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

go语言如何使用new构造Map

前提阅读:

不要使用 new,永远用 make 来构造 map

注意 如果你错误的使用 new () 分配了一个引用对象,你会获得一个空引用的指针,相当于声明了一个未初始化的变量并且取了它的地址:

mapCreated := new(map[string]float32) 接下来当我们调用:mapCreated[“key1”] =
4.5 的时候,编译器会报错:

invalid operation: mapCreated[“key1”] (index of type
*map[string]float32).

总结为什么不使用 new 原因:

new 函数可以创建一个空的 map,但是这个 map 是一个空的 map 指针。因此,在使用这个 map 前需要先进行初始化。

如何用 new 创建 Map

使用 new 函数创建 map 是可能的,但是需要显式地将指针分配给一个 map 变量,同时还需要手动初始化这个 map。下面是一个使用 new 函数创建并初始化一个 map 的示例:

mapCreated := new(map[string]float32)
*mapCreated = make(map[string]float32)
(*mapCreated)["key1"] = 4.5

需要注意的是,上述代码中的 mapCreated 是一个指向 map[string]float32 类型的指针,因此需要使用 * 操作符来访问指针所指向的实际 map 值。另外,我们还需要在使用 new 函数后,手动使用 make 函数来初始化这个 map。最后,我们可以通过解引用指针并使用键值对语法来对 map 进行赋值操作。

总之,使用 new 函数创建 map 是可能的,但是需要手动进行初始化和赋值操作,比较麻烦。所以建议直接使用 make 函数创建并初始化 map,这样更加方便和直观。


http://www.kler.cn/a/1231.html

相关文章:

  • 继承(7)
  • 【GESP】C++二级练习 luogu-B2079, 求出 e 的值
  • DEV C++软件下载
  • C++ 多线程异步操作
  • 【PPTist】公式编辑、插入音视频、添加动画
  • tdengine数据库使用java连接
  • 【技术方案】常见库存设计方案-各种方案对比总有一个适合你
  • 百度的文心一言 ,没有想像中那么差
  • 西安石油大学C语言期末重点知识点总结
  • 链表 算法
  • 盖子的c++小课堂——第十五讲:基础排序
  • Linux: 以太网 PHY 驱动简析
  • 2023年最新最全 VSCode 插件推荐
  • Python中eval与exec的使用及区别
  • 前端性能优化
  • UE实现建筑分层抽屉展示效果
  • python实现自动手势识别代码
  • JavaWeb《一》概念、服务器部署及servlet
  • 在我的MacBook上捣鼓ESP8266
  • TypeScript(六)函数
  • Leetcode138. 复制带随机指针的链表
  • 【十二天学java】day01-Java基础语法
  • HTTP报文数据检测与分类方案总结
  • 有趣且重要的JS知识合集(18)浏览器实现前端录音功能
  • Java中的二叉树
  • 【算法基础】二分图(染色法 匈牙利算法)