golang学习笔记——map类型


map数据类型
  • 形式如  map[keyType]valueType  类型的数据 
  • 定义
//直接定义 m2 := map[int]string{1: "hello", 2: "world"} fmt.Println("m2 = ", m2)   //使用make函数定义 m1 := make(map[int]string) m1[1] = "hello" m1[2] = "world" fmt.Println("m1 = ", m1)
  • 遍历map以及判断值是否存在
//map 遍历出来的值是无序的 m2 := map[int]string{1: "hello", 2: "world"} for key, value := range m2 {          fmt.Printf("%d ===> %s \n", key, value) }   //判断一个值是否存在 value,err = map[key] values, err := m2[1] if err == true {          fmt.Println("m2[1] = ", values) } else {          fmt.Println("值不存在") }
  • 删除键值 delete(map,key)
m2 := map[int]string{1: "hello", 2: "world"} delete(m2, 1) fmt.Println("m2 = ", m2)
  • map属于指针变量(函数传递属于引用传递)
package main   import (     "fmt" )   func test(m map[int]string) {     delete(m, 1) }   func main() {     m2 := map[int]string{1: "hello", 2: "world"}     test(m2)     fmt.Println("m2 = ", m2) //输出 m2 = map[2:world] }