【Golang学习】第五章 map的声明和使用

目录

一、声明

二、使用

1. 删除

2. 遍历

三、留坑


一、声明

var m1 map[string]string
m1 = map[string]string{}
m1["name"] = "Entin"
m1["sex"] = "male"
fmt.Println(m1)	// map[name:Entin sex:male]
m2 := map[int]bool{}
fmt.Println(m2)	// map[]
m2[1] = true
m2[2] = false
fmt.Println(m2)	// map[1:true 2:false]
// --------------上下等价---------------
m2 := map[int]bool{1: true, 2: false}
fmt.Println(m2)	// map[1:true 2:false]
m3 := make(map[int]interface{})
m3[1] = 1
m3[2] = false
m3[3] = "string"
m3[4] = []int{1, 2, 3}
fmt.Println(m3)	// map[1:1 2:false 3:string 4:[1 2 3]]

二、使用

1. 删除

var m1 map[string]string
m1 = map[string]string{}
m1["name"] = "Entin"
m1["sex"] = "male"
fmt.Println(m1, len(m1))	// map[name:Entin sex:male] 2
delete(m1, "sex")
fmt.Println(m1, len(m1))	// map[name:Entin] 1

2. 遍历

m2 := make(map[string]interface{})
m2["a"] = 1
m2["b"] = false
m2["c"] = "string"
m2["d"] = []int{1, 2, 3}
for k, v := range m2 {
	fmt.Println(k, v)
}

/*
输出结果:
a 1
b false
c string
d [1 2 3]
*/

三、留坑

1. 为什么map是无序的?

2. map的成倍扩容跟等量扩容?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值