首页 > 其他分享 >Go入门指南-8.4map 类型的切片

Go入门指南-8.4map 类型的切片

时间:2024-10-28 20:52:03浏览次数:8  
标签:map 8.4 int items make item Version Go

假设我们想获取一个 map 类型的切片,我们必须使用两次 make() 函数,第一次分配切片,第二次分配 切片中每个 map 元素(参见下面的例子 8.4)。

示例 8.4 maps_forrange2.go

package main
import "fmt"

func main() {
	// Version A:
	items := make([]map[int]int, 5)
	for i:= range items {
		items[i] = make(map[int]int, 1)
		items[i][1] = 2
	}
	fmt.Printf("Version A: Value of items: %v\n", items)

	// Version B: NOT GOOD!
	items2 := make([]map[int]int, 5)
	for _, item := range items2 {
		item = make(map[int]int, 1) // item is only a copy of the slice element.
		item[1] = 2 // This 'item' will be lost on the next iteration.
	}
	fmt.Printf("Version B: Value of items: %v\n", items2)
}

输出结果:

Version A: Value of items: [map[1:2] map[1:2] map[1:2] map[1:2] map[1:2]]
Version B: Value of items: [map[] map[] map[] map[] map[]]

需要注意的是,应当像 A 版本那样通过索引使用切片的 map 元素。在 B 版本中获得的项只是 map 值的一个拷贝而已,所以真正的 map 元素没有得到初始化。

标签:map,8.4,int,items,make,item,Version,Go
From: https://blog.csdn.net/qq_45030264/article/details/143313106

相关文章

  • 基于django+vue+Vue救援物资管理系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景救援物资管理在自然灾害、突发事件等紧急情况下扮演着至关重要的角色。现有研究主要集中在物资分配策略、库存管理以及物流优化等方面,但专......
  • 基于django+vue+Vue酒店经营管理系统【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着旅游业的蓬勃发展,酒店行业作为旅游业的重要组成部分,其管理效率和服务质量直接关系到客户体验和行业竞争力。关于酒店经营管理系统的研......
  • 基于django+vue+Vue酒店会员管理的设计与实现【开题报告+程序+论文】-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容选题背景随着酒店行业的竞争日益激烈,会员管理成为提升客户忠诚度和酒店利润的重要手段。关于酒店会员管理的研究,现有文献主要集中在客户关系管理、......
  • (开题报告)django+vue心理健康科普微信小程序的设计与实现论文+源码
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于心理健康科普方面的研究,现有研究主要以传统的网页平台或线下方式为主。在国内外,虽然有众多心理健康相关的研究成果,但专门针对心理......
  • 毕业设计:python车牌识别+车辆管理+计费系统+可视化大屏+Django框架(源码)✅
    毕业设计:python车牌识别+车辆管理+计费系统+可视化大屏+Django框架(源码)✅1、项目介绍技术栈:Python语言、Django框架、MySQL数据库、Echarts可视化、车牌识别、停车场管理、停车收费、HTML亮点功能:[1]用户管理,可增加月卡,季卡,半年卡,年卡,临时停车等;[2]可配置停车场停车......
  • 大数据项目-基于Django实现的二手房数据可视化分析与价格预测
    《[含文档+PPT+源码等]精品基于Django实现的二手房数据可视化分析与价格预测》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、包运行成功以及课程答疑与微信售后交流群、送查重系统不限次数免费查重等福利!数据库管理工具:phpstudy/Navicat或者phpstudy/sqlyog后台......
  • 强大的文本编辑器Notepad++8.4.6 最新版
          Notepad++最新版是一款多功能的代码编辑工具。Notepad++官方版支持27种编程语言,涵盖C、C++、Java、C#,、XML、HTML,、PHP、python等等,能够帮助程序员提高编辑效率。Notepad++软件支持python与sql代码高亮功能,并且免费开源,能够完美地取代微软视窗的记事本功......
  • Go语言的系统监控和日志分析
    ###开头段落:在处理Go语言的系统监控和日志分析时,关键的方式包括:使用标准库log进行日志记录、采用第三方库如logrus或zap提供更高级的日志管理功能、使用pprof进行性能监控、利用expvar发布服务内部信息等。这些方式既包含了基础的日志记录,也涵盖了性能和状态监控的高级应用。......
  • Vue项目在安装依赖时报错:“this[kHandle] = new _Hash(algorithm, xofLen);“
    问题:Vue项目在安装依赖时报错:"this[kHandle]=new_Hash(algorithm,xofLen);"原因:这个错误通常是由于Node.js版本更新导致的。新版本的Node.js包含了OpenSSL3.0,它对加密算法和密钥大小有更严格的限制,可能会影响一些旧项目。解决方案:1.临时解决(需要每次启动时设置):......
  • 92. 反转链表 II Golang实现
    题目描述:给你单链表的头指针head和两个整数left和right,其中left<=right。请你反转从位置left到位置right的链表节点,返回反转后的链表。思路分析:没到指定的位置范围时,直接进行链表的链接,然后到了需要转换的范围就将这些节点用一个栈保存,然后再利用栈的先入后出......