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}“
posted @ 2018-03-28 19:09  Joestar  阅读(292)  评论(0编辑  收藏  举报