map是一种无序的基于"key-value"(键值对)的数据结构,go语言中的map是引用类型,必须初始化才能引用。简单可以理解为一种映射关系
2、代码块package main import "fmt" func main() { a := make(map[string]int, 10) fmt.Println(a) fmt.Printf("%Tn", a) a["嘟嘟"] = 3 a["一一"] = 2 fmt.Println(a) fmt.Println("8号") //map中没有“8号”,保存不会报错,会拿到这个key对应累心的零值 //约定俗成用ok接收返回的布尔值 value, ok := a["一一"] if !ok { fmt.Println("无此人") } else { fmt.Println(value) } }3、遍历map
package main import "fmt" func main() { a := make(map[string]int, 10) a["嘟嘟"] = 3 a["一一"] = 2 //map的遍历 for k, v := range a { fmt.Println(k, v) } //只遍历key for k := range a { fmt.Println(k) } //只遍历value for _, v := range a { fmt.Println(v) } }4、删除map中的元素
package main import "fmt" func main() { a := make(map[string]int, 10) a["嘟嘟"] = 3 a["一一"] = 2 // 删除 delete(a, "一一") fmt.Println(a) }5、map和切片组合
package main import "fmt" func main() { //map和slice组合 //元素类型为map的切片 a := make([]map[int]string, 5, 10) fmt.Printf("%Tn", a) a[0] = make(map[int]string, 10) a[0][10] = "沙河" fmt.Println(a) //值为切片类型的map b := make(map[string][]int, 5) b["北京"] = []int{1, 2, 5} fmt.Println(b) }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)