网站首页 > 精选教程 正文
Map
Go语言中的map是一种数据结构,它提供了一种以键值对形式存储和访问数据的方式。Go语言中的map类似于其他编程语言中的哈希表、字典或关联数组。
创建一个map
可以通过make函数来创建一个map,语法:make(map[key-type]val-type)。
// 创建一个空的map,键是string类型,值是int类型
m := make(map[string]int)
向map中添加元素
可以使用map的键来添加元素,语法:name[key] = val。
// 向map中添加元素
m["apple"] = 1
m["banana"] = 2
m["orange"] = 3
从map中获取元素
可以使用map的键来获取元素,语法:name[key]。
注意:如果key不存在,则返回0值(类型对应的默认值),即false、0、""、nil。
// 从map中获取元素
fmt.Println(m["apple"]) // 输出1
fmt.Println(m["banana"]) // 输出2
fmt.Println(m["orange"]) // 输出3
检查map中是否存在一个键
可以使用_, ok := m[key]的方式来检查一个键在map中是否存在。如果不需要这个value,则可以通过空白标识符_来忽略value的返回:
// 检查map中是否存在一个键
if _, ok := m["apple"]; ok {
fmt.Println("apple exists in the map")
}
删除map中的元素
可以使用delete函数来删除map中的元素。
// 删除map中的元素
delete(m, "apple")
遍历map
可以使用for range语句来遍历map。
// 遍历map
for k, v := range m {
fmt.Printf("key: %s, value: %d\n", k, v)
}
map的长度
可以使用len函数来获取map的长度。
// 获取map的长度
fmt.Println(len(m))
每日一Tip
make函数可以创建slice,也可以创建map。
猜你喜欢
- 2025-01-11 JVM系列-使用jmap和MAT进行堆内存分析
- 2025-01-11 MapStruct 使用教程, 万字详解
- 2025-01-11 面试官:ThreadLocal中的ThreadLocalMap和HashMap有什么区别?
- 2025-01-11 Golang Gin 实战(五)| 接收数组和 Map
- 2025-01-11 Hadoop :map+shuffle+reduce和YARN分析笔记
- 2025-01-11 MapStruct架构设计
- 2025-01-11 Java,Stream,forEach()、map()、filter()、sorted()等的用法
- 2025-01-11 由 Mybatis 源码畅谈软件设计(五):ResultMap 的循环引用
- 2025-01-11 Map扩展,敏捷的SmartMap
- 2025-01-11 一日一技:举例说明python中的map()方法
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)