GO语言 map相关操作整理

2021-03-28  本文已影响0人  HueyYao

知识点整理:

  1. 创建 make(map[string]string)
  2. 获取元素 m[key]
  3. key不存在 会获取value的初始值
  4. 用value, ok = m[key] 来判断是否存在key
  5. delete来删除map
  6. range遍历key 或者遍历key,value
  7. 不保证遍历的顺序 如需顺序 需要手动对key排序
  8. len来获取元素数量

代码如下:

package main

import "fmt"

func main() {
    m := map[string]string{
        "name": "nameContent",
        "course": "asdas",
    }
    m2 := make(map[string]int)//m2 == empty map

    var m3 map[string]int//m3 == nil

    fmt.Println(m, m2, m3)

    fmt.Println("Traversing map")
    for k, v := range m {
        fmt.Println(k, v)
    }
    fmt.Println("Getting values")
    //如果key不存在 则返回一个空的string 不需要担心初始化问题
    //如果验证key是否存在
    courseName, ok := m["course1"]
    fmt.Println(courseName,ok)
    //判断值是否存在
    if courseName, ok := m["course1"]; ok {
        fmt.Println(courseName)
    }else{
        fmt.Println("key does not exist")
    }
    //删除元素
    fmt.Println("Delete Map")
    name, ok := m["name"]
    fmt.Println(name, ok)
    delete(m,"name")
    name, ok = m["name"]
    fmt.Println(name, ok)
}
上一篇下一篇

猜你喜欢

热点阅读