Go语言字典

2018-09-26  本文已影响0人  AuglyXu

什么是字典


定义字典的方式

   dict = make(map[string]string,3)
   dict["key"] = "value"
dict = make(map[string]string)
dict["key"] = "value"

定义字典的注意点

  1. 和切片一样,通过var 字典名称 map[key数据类型]value数据类型定义的字典不能直接使用,需要对字典进行初始化
//var dict map[string]string = map[string]string{"name" ; "xxz","age":"18"}
var dict map[string]string
dict = map[string]string{"name" ; "xxz","age":"18"}

2.在企业开发中通过make函数创建字典,如果知道字典的长度,那么尽量把字典的长度写上,有助于提高性能
3.如果字典的长度没有写,那么在添加字典的时候,底层会自动做扩容操作
4.字典中没有两个相同的key值,所以定义的时候不可以定义两个相同的key


字典的遍历

var dict map[string]string = map[string]string{"name" ; "xxz","age":"18"}
for key,value := range dict{
      fmt.Println("key = ", key, "value = ", value)
}

字典的增删改查

现有一字典var dict map[string]string = map[string]string{"name" ; "xxz","age":"18"}

if value,ok := dict["key"];ok{
  fmt.Println(value)
  fmt.Println(ok)
}

字典作为函数参数

    var dict1 map[string]string = map[string]string{"name": "xxz", "age": "18"}
    //var dict2 map[string]string
    //dict2 = dict1
    fmt.Println(dict1)
    //dict2["name"] = "zs"
    change(dict1)
    fmt.Println(dict1)
}

func change(dict2 map[string]string)  {
    dict2["name"] = "zs"
}
上一篇下一篇

猜你喜欢

热点阅读