map

map[key]value

map[键类型]值类型

var m map[int]string = map[int]string{1: "a", 2: "b"}

for k, v := range m {
    fmt.Println(k, v)
}

输入字符串 统计字母出现次数

var str string
fmt.Scan(&str)
  //将字符串转成切片
slice := []byte(str)
maps := make(map[byte]int)
for i := 0; i < len(slice); i++ {
    maps[slice[i]]++
}
for k,v:=range maps{
    fmt.Printf("%c:%d\n",k,v)
}
    hello
    l:2
    o:1
    h:1
    e:1

map中的key必须支持== != 一般建议基本类型

delete(m,key)删除map中的数据
//在进行数据删除时,key不存在不会报错

map作为函数参数

  • 地址传递
  • 引用传递
  • 形参和实参指向内存中相同的地址段 修改形参会影响实参的值
m:=map[int]string{1:"a",2:"b",3:"c"}
fmt.Printf("%p\n",m)
demoMap(m)
fmt.Println(m)

func demoMap(m map[int]string){
fmt.Printf("%p\n",m)
m[4]="d"
m[5]="e"
fmt.Println(m)
delete(m,5)
fmt.Println(m)
}


0xc0000682d0
0xc0000682d0
map[1:a 2:b 3:c 4:d 5:e]
map[1:a 2:b 3:c 4:d]
map[1:a 2:b 3:c 4:d]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容