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

GO 语言学习 之 Map

        map 是 Go 语言中非常重要的数据结构,常用于需要快速查找、统计或分组数据的场景。

map定义:

package mainimport "fmt"func main() {var m1 map[int]string            // 创建一个 mapm2 := make(map[int]string)       // 创建一个 map m3 := make(map[int]string, 10)   // 创建一个长度为 10 的 mapm4 := map[int]string {1:"1111", 2:"2222", 3:"3333"} // 创建并初始化 mapv, ok := m1[1]if ok {fmt.Println(v, ok)} else {fmt.Println(v, ok)}for key, value := range m1 {fmt.Println("m1 的内容 :", key, value)}fmt.Println(m1)fmt.Println(m2)fmt.Println(m3)fmt.Println(m4)
}

map 的特征:

  • map 是一种无序的键值对的集合
  • map 的重要用途是是通过 key 来快速检索数据,类似于hash值的效果,key 类似于索引,指向数据的值。
  • map 遍历 时返回的键值对的顺序是不确定的。
  • 在遍历map的时候,如果键不存在,返回该类型的零值,例如 int 类型的零值是 0,string 类型的零值是 ""。
  • map 和切片一样,是引用类型。如果将map类型作为函数的参数,它们都引用同一个map。因此,对 map 的修改会影响到所有的引用。
  • map 的 key 不允许重复,重复对同一个 key 进行赋值,值将被覆盖,只保存最后一次赋值的内容

map的常见操作:

package mainimport "fmt"func main() {m1 := make(map [int]string)// 添加一个元素m1[1] = "1111"m1[2] = "2222"fmt.Println(m1)// 修改元素的值m1[1] = "壹壹壹壹"fmt.Println(m1)// map 的长度fmt.Println(len(m1))// 遍历 map *** 只能这么遍历,除非你单独存了一份 key 值,可以通过遍历 key 值,间接遍历了mapfor k, v := range m1 {fmt.Println("遍历 m1 ", k, v)}v, ok := m1[3]if !ok {fmt.Println("3 is not exist. v 的结果是零值 : ", v)}// 删除元素 (根据 key 删除某一个元素)delete(m1, 1)fmt.Println(m1)// 清空clear(m1)fmt.Println(m1)
}

http://www.lqws.cn/news/578449.html

相关文章:

  • PyTorch 中 nn.Linear() 参数详解与实战解析(gpt)
  • K8s环境下基于Nginx WebDAV与TLS/SSL的文件上传下载部署指南
  • 极易搭建的自助Git服务Gogs
  • LeetCode 594. Longest Harmonious Subsequence
  • Hyperledger Fabric 入门笔记(二十一)Fabric V2.5 使用K8S部署测试网络
  • UI_NGUI_三大基础控件
  • 祛魅 | 在祛魅中成长,在成长中祛魅
  • DAY 43 预训练模型
  • 完整的ROS节点来实现果蔬巡检机器人建图与自主避障系统
  • 《从量子奇境到前端优化:解锁卡西米尔效应的隐藏力量》
  • API接口安全-1:身份认证之传统Token VS JWT
  • VMware 在局域网环境将虚拟机内部ip 端口开放
  • 使用SRS+ffmpeg实现https推流flv
  • python+uniapp基于微信小程序面向品牌会员的在线商城系统
  • 如何让Excel自动帮我们算加减乘除?
  • 基于llama-factory+ollama+vllm加速大模型训推生产
  • 深入 ARM-Linux 的系统调用世界
  • C++ std::list详解:深入理解双向链表容器
  • 分库分表之实战-sharding-JDBC
  • 【数论 拆位法】P10308 「Cfz Round 2」Osmanthus|普及+
  • 车辆工程中的压力传感技术:MEMS与薄膜传感器的实战应用
  • 从设计到开发一个小程序页面
  • Java + 阿里云 Gmsse 实现 SSL 国密通信
  • 用基础模型构建应用(第四章)AI Engineering: Building Applications with Foundation Models学习笔记
  • Springboot + vue + uni-app小程序web端全套家具商场
  • MongoDB 安装使用教程
  • 第81题:搜索旋转排序数组Ⅱ
  • 【软考高项论文】论信息系统项目的干系人管理
  • 百度文库智能PPT月访问量超3400万,用户规模翻倍增长
  • 中钧科技亮相2025 亚欧商品贸易博览会,赋能数字经济新未来!