Map的遍历

package main


import (
  "fmt"
  "sort"
)


func main() {
  /*
  map的遍历:
    使用:for range


      数组,切片:index,value
      map:key,value


  */


  map1 :=make(map[int]string)
  map1[2] = "猪八戒"
  map1[3] = "沙僧"
  map1[1] = "孙悟空"
  map1[4] = "白龙马"
  map1[5] = "牛魔王"
  map1[6] = "铁扇公主"


  //1.遍历
  for k,v :=range map1{
    fmt.Println(k,v)
  }


  fmt.Println("___________________")
  for i :=1;i<=len(map1);i++{
    fmt.Println(i,"-->",map1[i])
  }


  /*
  1.获取所有的key,-->切片/数组
  2.进行排序
  3.遍历key,-->map[key]
  */
  keys :=make([]int,0,len(map1))
  fmt.Println(keys)


  for k,_ := range map1{
    keys = append(keys,k)
  }
  fmt.Println(keys)


  //冒泡排序,或者使用sort包下的排序方法
  sort.Ints(keys)
  fmt.Println(keys)


  for _,key := range keys{
    fmt.Println(key,map1[key])
  }


  s1 :=[]string{"Apple","Windows","Orange","abc","红孩儿","acd"}
  fmt.Println(s1)
  sort.Strings(s1)
  fmt.Println(s1)






}

运行输出:

4 白龙马
5 牛魔王
6 铁扇公主
2 猪八戒
3 沙僧
1 孙悟空
___________________
1 --> 孙悟空
2 --> 猪八戒
3 --> 沙僧
4 --> 白龙马
5 --> 牛魔王
6 --> 铁扇公主
[]
[3 1 4 5 6 2]
[1 2 3 4 5 6]
1 孙悟空
2 猪八戒
3 沙僧
4 白龙马
5 牛魔王
6 铁扇公主
[Apple Windows Orange abc 红孩儿 acd]
[Apple Orange Windows abc acd 红孩儿]


Process finished with exit code 0

读完点个赞,给我的坚持更新注入新的活力。

2022.05.22 日更 74/365 天

公众号:3天时间

往期同类文章:

GO学习 Map的使用

GO学习 深拷贝和浅拷贝

GO学习 数组上创建切片

加客服微信:qsiq17,开通VIP下载权限!VIP全站资源免费下载!!!