map 的遍历 | 学习笔记

简介: 快速学习 map 的遍历

开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map: map 的遍历】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/625/detail/9659


map 的遍历

目录:

一、map 遍历

二、map 的长度

 

一、map 遍历:

案例演示相对复杂的 map 遍历:该 map 的 value 又是一个 map 说明: map 的遍历使用 for-range 的结构遍历

Map 的遍历不能用简单的 for 循环,因为 for 循环在遍历的时候要拿到数组的下标,但是 map 的 key 不是数字也不一定是 123 这样的数字可能不是连续的有可能是字符串,所以在 map 遍历时只能用 for-range。

案例:

package main

import (

"fmt”

)

func main() {

//使用 for-range 遍历 map

//第二种方式

cities := make(map[string]string)

cities[ "no1"]=“北京"

cities[ "no2"]=“天津”

cities["no3"]=“上海”"

for k, v := range cities {(分别把他们的每一个key value遍历出来)

fmt.Printf("k=%v v=%v\n", k,v)

}

}

因为下标,这里不能用 for 循环。

//使用 for-range 遍历一个结构比较复杂的 map

studentMap := make(map[string]map[string]string)(这里较为复杂的原因因为他的值也是一个 map,意味着如果要遍历说明要 for range 两次)

studentMap[ "stu01"] =make(map[string]string3)

studentMap[ "stu01"]["name"] =“tom"

studentMap[ "stu01"]["sex"]=“男”

studentMap[ "stu01"]["address"]="北京长安街~”

studentMap[ "stu02"] =make(map[string]string,3)//这句话不能少!!

studentMap[ "stu02"][ "name"] ="mary"

studentMap[ "stu02"]["sex"]=“女”

studentMap[ "stu02"][ "address"]=“上海黄浦江~"

for k1, v1 := range studentMap {(这里遍历后,k1 就是 student01 和 02 这样一个值,v1 又是一个 map)

fmt.Println( "k1=", k1)

for k2, v2 := range v1 {(这里就是一个值)

fmt.Printf("\t k2=%v v2=%v\n", k2,v2)

}

fmt.Print1n(

}

输出后发现 k1 是 student01 对应一个 map 里面有三对,有地址名字性别, student02 也是对应一个 map,在增加也是这样遍历,这样就演示了一个双层 for range 的遍历。

 

二、map 的长度

Func len:(统计一个 map 有多少对 key value)

func len( Type) int

内建函数 len 返回 v 的长度,这取决于具体类型:

数组: v 中元素的数量

数组指针:“ v 中元素的数量( v 为 nil 时 panic )

切片、映射: v 中元素的数量:若 v 为 nil. len(v) 即为零

字符串: v 中字节的数量

通道:通道缓存中队列(未读取)元素的数量:若 v 为 nil,len(v) 即为零

案例:

}

fmt.Print1n( "cities 有",len(cities),”对key-value")

这里可以统计出有多少对 key value

案例演示: fmt.Println(len(stus))

尤其注意在进行遍历时用 for range 而不是 for 循环,因为 map 的 k 不一定是数字或连续的数字。

相关文章
go语言中遍历映射(map)
go语言中遍历映射(map)
306 8
|
6月前
|
存储 JavaScript 前端开发
for...of循环在遍历Set和Map时的注意事项有哪些?
for...of循环在遍历Set和Map时的注意事项有哪些?
338 121
|
6月前
|
安全 Java 数据库连接
让我们讲解一下 Map 集合遍历的方式
我是小假 期待与你的下一次相遇 ~
261 43
|
7月前
|
存储 安全 Go
Map的遍历与判断键是否存在-《Go语言实战指南》
本文介绍了 Go 语言中对 `map` 的常见操作,包括遍历所有项和判断键是否存在。通过 `for range` 可以遍历 `map` 的键值对、仅键或仅值(需忽略键)。注意,`map` 遍历顺序是随机的。判断键是否存在时,使用双赋值语法 `value, ok := map[key]`,其中 `ok` 表示键是否存在。直接访问不存在的键会返回类型的零值,可能导致逻辑错误。掌握这些机制可更安全高效地处理键值对数据。
使用 entrySet 遍历 Map 类集合 KV
使用 entrySet 遍历 Map 类集合 KV
go语言for遍历映射(map)
go语言for遍历映射(map)
422 12
|
存储 Go
go语言 遍历映射(map)
go语言 遍历映射(map)
352 2
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
217 1
|
JavaScript API
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
422 1

热门文章

最新文章