Go语言map的使用

  • 初始化map

    // 第一种声明方式
    var user_profile = map[string]string{
        "name":"wuxiaoshi",
        "address":"北京市朝阳区"
    }
    // 也可以这样声明,只是变量声明的一种简洁方式
    user_profile1 := map[string]string{
        "qq": "1045216729"
    }
    
    // 第二种声明方式
    user_profile3 := make(map[string]string)
    user_profile3["emai"] = "imock@sina.com"
    
  • 添加键值对

    user_profile3 := make(map[string]string)
    user_profile3["emai"] = "imock@sina.com"
    
  • 删除键值对

    // 没有返回值
    delete(user_profile,"name")
    
  • 清空map

    // 只有将变量重新赋值一个空的map
    var user_profile = map[string]string
    
  • 判断键是否存在

    // 判断map中有没有 avatar 字段
    if avatar,exists := user_profile["avatar"];exists{
        fmt.Printf("avatar字段存在,值为:%s",avatar)
    }else{
        fmt.Println("avatar字段不存在!")
    }
    
  • map遍历

    // 获取map的键和值
    for key,val := range user_profile{
        fmt.Printf("key:%s, val:%s
    ",key,val)
    }
    
    // 获取键的方式
    for key := range user_profile{
        fmt.Println(key)
    }
    // 如果不嫌麻烦的话,也可以这样
    for key,_ := range user_profile{
         fmt.Println(key)
    }
    
    // 获取值
    for _,val := range user_profile{
        fmt.Println(val)
    }
    
原文地址:https://www.cnblogs.com/wuxiaoshi/p/14398013.html