在计算机编程中,map
是一种常用的数据结构,用于存储键值对,遍历 map
的方式有多种,下面将详细介绍几种常见的方式:
(图片来源网络,侵删)
1、使用 for...range
循环遍历
m := map[string]int{
"apple": 5,
"banana": 3,
"orange": 2,
}
for key, value := range m {
fmt.Println("Key:", key)
fmt.Println("Value:", value)
}
这种方式会按照 map
中的键值对顺序进行遍历,每次迭代都会返回一个键值对,可以通过解构赋值获取到键和值。
2、使用 for...key
循环遍历
m := map[string]int{
"apple": 5,
"banana": 3,
"orange": 2,
}
for key := range m {
fmt.Println("Key:", key)
}
这种方式只会遍历 map
的键,不会返回对应的值,如果需要同时获取键和值,可以使用第一种方式。
3、使用 for...value
循环遍历
m := map[string]int{
"apple": 5,
"banana": 3,
"orange": 2,
}
for value := range m {
fmt.Println("Value:", value)
}
这种方式只会遍历 map
的值,不会返回对应的键,如果需要同时获取键和值,可以使用第一种方式。
4、使用索引遍历(仅适用于字符串类型的 map
)
m := map[string]int{
"apple": 5,
"banana": 3,
"orange": 2,
}
keys := make([]string, len(m))
i := 0
for key := range m {
keys[i] = key
i++
}
for _, key := range keys {
fmt.Println("Key:", key)
}
这种方式会先创建一个与 map
长度相同的字符串切片,然后通过索引遍历字符串切片来获取键的顺序,需要注意的是,这种方式只适用于字符串类型的 map
,对于其他类型的 map
,无法直接使用索引遍历。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)