010_go语言中的maps映射(字典)

Posted 乱七八糟的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了010_go语言中的maps映射(字典)相关的知识,希望对你有一定的参考价值。

代码演示

package main

import "fmt"

func main() {
    m := make(map[string]int)

    m["k1"] = 7
    m["k2"] = 13

    fmt.Println("map:", m)

    v1 := m["k1"]
    fmt.Println("v1:", v1)

    fmt.Println("len:", len(m))

    delete(m, "k2")
    fmt.Println("map:", m)

    _, prs := m["k2"]
    fmt.Println("prs:", prs)

    n := map[string]int{"foo": 1, "bar": 2}
    fmt.Println("map", n)
}

代码运行结果

map: map[k1:7 k2:13]
v1: 7
len: 2
map: map[k1:7]
prs: false
map map[foo:1 bar:2]

代码解读:

  • maps是go语言内置的数据类型,也有叫字典或者映射的
  • 使用make(map[key-type]val-type)的方式创建一个空字典
  • 设置键值对的话,采用name[key] = value的方式
  • 用fmt.Println的方式可以打印出字典里面所有的键值对
  • 用name[key]来获取一个值
  • 用内置的方法len可以返回键值对的数量,也就是字典的长度
  • 用内置的方法delete可以从字典里删除一个键值对
  • 第二个返回值,可以返回这个键是否在这么字典中,这可以用来消除键不存在或者有零值的歧义,当不需要第一个返回值时候,可以用空白符”_”来表示
  • 也可以在一行声明并且初始化完成一个字典,例如”n := map[string]int{"foo": 1, "bar": 2}“

以上是关于010_go语言中的maps映射(字典)的主要内容,如果未能解决你的问题,请参考以下文章

Go语言字典和结构体

Go 语言入门很简单 -- 8. Go Maps #私藏项目实操分享#

Go中map的创建和初始化

go语言_map字典

Go数据类型 map

Python代码阅读(第26篇):将列表映射成字典