map切片

基本语法
var map 变量名 map[keytype]valuetype;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
举例

package main

import(
	"fmt"
	_"time"
	_"strings"
	_"go_code/chap01/fundemo01/utils"
)
 func main() {
	 var a map[string]string
	 //在使用map前需要先make
	 //make的作用就是给map分配数据空间
	 //make(数据类型,大小)
	 //
	 a=make(map[string]string, 10)
	 a["no1"]="宋江"
	 a["no2"]="nih"
	 a["no1"]="555"
	 //输出:map[no1:555 no2:nih]
	 fmt.Println(a)
 }

注意: golang中的map的key-value是无序的。

map的使用方式

方式一:先声明再make

直接参考上面的go代码。

方式二:声明的同时make

 func main() {
	 a:=make(map[string]string)
	 a["n03"]="999"
	 a["no1"]="宋江"
	 a["no2"]="nih"
	 a["no1"]="555"
	 a["no3"]="666"
	 fmt.Println(a)
 }

方式三:利用map切片

package main

import(
	"fmt"
)
 func main() {
	 a:=map[string]string{
		 "name":"111",
		 "age":"666",
	 }
	 fmt.Println(a)
 }

推荐使用方式二或三

案例:

package main

import(
	"fmt"
)
 func main() {
	 //演示一个key-value的value是map的案例
	 //存放三个学生的信息,每个学生有学号,姓名,性别
	 //思路: map[string]map[string]string
	 stu:=make(map[string]map[string]string)
	 stu["no1"]=make(map[string]string,3)
	 stu["no1"]["name"]="tom"
	 stu["no1"]["sex"]="男"
	 stu["no1"]["adress"]="111"
	 fmt.Println(stu)
	}

map的增删改查

修改

package main

import(
	"fmt"
)
 func main() {
	 a:=make(map[string]string)
	 a["no1"]="111"
	 //找到对应的key值重新赋值value即可
	 a["no1"]="222"
	 fmt.Println(a)
 }

删除

 func main() {
	 a:=make(map[string]string)
	 a["no1"]="111"
	 //delete是个内置函数
	 //delete(map,"key")
	 //如果key存在,就删除该key-value
	 //如果不存在,不操作,也不报错
	 delete(a,"no1")
	 fmt.Println(a)
 }

在这里插入图片描述
遍历key的知识后面再讲。
在这里插入图片描述
查找
在这里插入图片描述
如果存在该key值,则val返回的是key值,ok返回的是true,否则为false。

map遍历

map的遍历使用for-range的结构遍历

 func main() {
	 a:=make(map[string]string)
	 a["no1"]="111"
	 a["no2"]="222"
	 for k,v:=range a{
		 fmt.Println(k,v)
		 //no1 111
         //no2 222
	 }
 }

当value的类型为map时,遍历更加复杂
在这里插入图片描述
map的长度:
fmt.Println(len(stus))

map切片

切片的数据类型如果是map,则为map切片,这样使用map个数就可以动态变化了。

package main

import(
	"fmt"
)
 func main() {
	 a:=map[string]string{
		 "name":"111",
		 "age":"666",
	 }
	 fmt.Println(a)
 }

map排序

新版本已经对map的下标按升序排好序了,不需要用sort给key排序。
在这里插入图片描述
sort函数要记得加sort包
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值