feat(map): 添加map基础概念和使用示例 - 新增map数据结构的基础概念介绍 - 添加切片与map对比的示例代码和说明 - 实现person查找的slice vs map性能对比示例 - 添加map声明、初始化、访问、删除、遍历等完整操作示例 - 补充map作为引用类型的说明和示意图 - 新增使用map进行去重的功能说明 - 添加slices_vs_map.drawio图表文件 - 更新练习题目,增加去重相关的练习 该提交完整介绍了Go语言中map的核心概念和实际应用, 帮助理解map相比切片在查找效率上的优势。 ```
复合数据结构
之前讲了基础类型,接下来讲复合数据结构:数组、结构体、切片、Map, 利用基础类型组装起来的类型称为复合数据结构
很多现实的场景 都是复合数据结构,比如:
- 数组: ip地址 192.168.1.1 就是4个整数的数组
- 切换(99): 长度不固定的数组, 一堆服务器ip ['192.168.1.1', '192.168.1.1', '192.168.1.1']
- HashMap(字典, Map): 键值对{'key':'value', 'key':'value'}, 属性不固定的, 服务器{'cpu':'1核', 'mem':'1G', ip: [], ...}
- 结构体(99): 键值对{'name':'bob', 'age':'18'}, 属性固定的, 服务器{'cpu':'1核', 'mem':'1G', ip: [], ...}