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]
}
 
posted @ 2021-02-28 10:17  GPHPER  阅读(267)  评论(0编辑  收藏  举报
TOP