• 欢迎访问 YZBTDIY!
  • 本站启用 TLS 加密!
  • 站点优化使用 WPJAM 的插件,万分感谢!

golang 字典

每日一GO admin 1周前 (06-09) 23次浏览 0个评论

code

package main

import "fmt"

//map 使用哈希表作为 key
//除了 slice,map,function 的其他内建类型都可以作为 key
//struct 不包含以上字段,也可以作为 key
func defmap() {
    m := map[string]string{
        "name":    "yzbtdiy",
        "course":  "golang",
        "site":    "imooc",
        "quality": "notbad",
    }
    //创建 map 需要使用 make
    m2 := make(map[string]int)

    var m3 map[string]int

    fmt.Println(m, m2, m3)

    //可以使用 range 遍历 map,但是无法保证顺序
    //可以把所有 key 保存到 slice,进行排序
    fmt.Println("Traversing map")
    for k, v := range m {
        fmt.Println(k, v)
    }

    fmt.Println("Getting values")
    courseName, ok := m["course"]
    fmt.Println(courseName, ok)
    if causeName, ok := m["cause"]; ok {
        fmt.Println(causeName)
    } else {
        fmt.Println("key does not exist")
    }

    fmt.Println("Deleting values")
    name, ok := m["name"]
    fmt.Println(name, ok)

    delete(m, "name")
    name, ok = m["name"]
    fmt.Println(name, ok)
}

func main() {
    defmap()
}

result

map[course:golang name:yzbtdiy quality:notbad site:imooc] map[] map[]
Traversing map
name yzbtdiy
course golang
site imooc
quality notbad
Getting values
golang true
key does not exist
Deleting values
yzbtdiy true
 false

YZBTDIY , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:golang 字典
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址