中国网络水泥 发表于 2018-9-20 11:49:23

golang之map数据类型

package main  

  
import
"fmt"  

  
func testMap() {
//两种声明map方式,切记,必须初始化才能用,否则panic  

//var a mapstring = mapstring{//    "key": "value",//}  a := make(mapstring, 10)
  a["abc"] = "efg"
  //map的key是唯一的,修改值可以直接改
  a["abc"] = "efg2"
  a["abc1"] = "efg"
  fmt.Println(a)
  
}
  

  
//map嵌套map
  
//map是无序排序
  
func testMap2() {
  a := make(mapmapstring, 100)
  a["key1"] = make(mapstring)
  a["key1"]["key2"] = "abc"
  a["key1"]["key3"] = "abc"
  a["key1"]["key4"] = "abc"
  a["key1"]["key5"] = "abc"
  fmt.Println(a)
  
}
  

  
func modify(a mapmapstring) {
  _, ok := a["zhangsan"]
  if !ok {
  a["zhangsan"] = make(mapstring)
  }
  //与_,ok写法一样
  //if a["zhangsan"] == nil {}
  //
  
    a["zhangsan"]["passwd"] = "123456"
  a["zhangsan"]["nickname"] = "pangpang"
  return
  
}
  

  
func testMap3() {
  a := make(mapmapstring, 100)
  modify(a)
  fmt.Println(a)
  
}
  
func trans(a mapmapstring) {
  for k, v := range a {
  fmt.Println(k)
  for k1, v1 := range v {
  fmt.Println("\t", k1, v1)
  }
  }
  
}
  
func testMap4() {
  a := make(mapmapstring, 100)
  a["key1"] = make(mapstring)
  a["key1"]["key2"] = "abc"
  a["key1"]["key3"] = "abc"
  a["key1"]["key4"] = "abc"
  a["key1"]["key5"] = "abc"
  //删除map键的内置函数delete
  //delete(a,"key1")
  
    trans(a)
  

  fmt.Println(len(a))
  

  
}
  

  
func testMap5() {
  var a []mapint
  a = make([]mapint, 5)
  

  //for i:=0;i
页: [1]
查看完整版本: golang之map数据类型