美文网首页
golang-复合类型 - map 操作

golang-复合类型 - map 操作

作者: 爱吃豆包 | 来源:发表于2019-12-17 20:13 被阅读0次
package main

import "fmt"

/**
    map 类型: map[K]V  k表示键,v表示值

    是个HashMap k是无序

    k的类型:除了 slice, map , func 其余都可以

 */

func main() {

    // 定义一个 map 类型
    m := map[string]string {
        "name":"ccmouser",
        "course":"golang",
    }

    fmt.Println("m = ", m)
    fmt.Println("m[\"name\"]", m["name"])

    // 创建一个map, string类型的key, map[string]string 作为值
    mt := make(map[string]map[string]string)
    fmt.Println("map也可以做值V", mt)

    // 通过 make 分配
    m2 := make(map[string]int) // m2 == empty map

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


    fmt.Println("m2 = ", m2)
    fmt.Println("m3 = ", m3)

    // 添加值
    m["age"]="21"


    // 遍历的时候不保证顺序
    for k, v := range m {
        fmt.Println("k = ",k ,"v = " , v)
    }

    // name, ok := m["name"]
    // ok 返回的就是 true 和 false
    // 判断 map 的值存不存在
    if name, ok := m["name"]; ok {
       fmt.Println(name)
    } else {
        fmt.Println("这个key不存在!")
    }

    // 删除
    delete(m, "name")

}

相关文章

网友评论

      本文标题:golang-复合类型 - map 操作

      本文链接:https://www.haomeiwen.com/subject/kgyenctx.html