您的位置 首页 golang

GO学习 Map的类型以及结合切片运用

Map结合切片的运用

 package main


import "fmt"


func main() {
  /*
  map和slice的结合使用:
    1.创建map用于村春人的信息
      name,age,sex,address


    2.每个map存储一个人的信息


    3.将这些map存入到slice中


    4.打印遍历输出
  */

  //1.创建map存储第一个人的信息
  map1 := make(map[string]string)
  map1["name"] = "孙悟空"
  map1["age"] = "520"
  map1["sex"] = "男"
  map1["address"] = "花果山水帘洞"
  fmt.Println(map1)


  //2.第二个人
  map2 := make(map[string]string)
  map2["name"] = " 白晶晶 "
  map2["age"] = "200"
  map2["sex"] = "女"
  map2["address"] = "宛子山波月洞"
  fmt.Println(map2)


  //3.第三个人
  map3 := map[string]string{"name":" ruby ","age":"30","sex":"男","address":"GOLang"}
  fmt.Println(map3)


  //将map存入到slice中
  s1 := make([]map[string]string,0,3)
  s1 = append(s1,map1)
  s1 = append(s1,map2)
  s1 = append(s1,map3)


  //遍历切片
  for i,val :=range s1{
    //val:map1,map2,map3
    fmt.Printf("第%d个人信息是:\n",i+1)
    fmt.Printf("\t姓名:%s\n",val["name"])
    fmt.Printf("\t年龄:%s\n",val["age"])
    fmt.Printf("\t性别:%s\n",val["sex"])
    fmt.Printf("\t地址:%s\n",val["address"])


  }




}  

运行输出:

 map[address:花果山水帘洞 age:520 name:孙悟空 sex:男]
map[address:宛子山波月洞 age:200 name:白晶晶 sex:女]
map[address:GO age:30 name:ruby sex:男]
第1个人信息是:
  姓名:孙悟空
  年龄:520
  性别:男
  地址:花果山水帘洞
第2个人信息是:
  姓名:白晶晶
  年龄:200
  性别:女
  地址:宛子山波月洞
第3个人信息是:
  姓名:ruby
  年龄:30
  性别:男
  地址:GO


Process finished with exit code 0  

Map是引用类型

 package main


import "fmt"


func main() {
  /*
  一:数据类型:
    基本数据类型:int, float , string , bool 
    复合数据类型:array,slice,map,function,pointer, struct ...


      array:[size]数据类型
      slice:[]数据类型
      map:map[key的类型]value的类型


  二:存储特点:
    值类型:int,float,string,bool,array,struct
    引用类型:slice,map


      make(),slice,map,chan
  */

  map1 := make(map[int]string)
  map2 := make(map[string]float64)
  fmt.Printf("%T\n",map1)
  fmt.Printf("%T\n",map2)


  map3 := make(map[string]map[string]string)
  m1 := make(map[string]string)
  m1["name"] = "孙悟空"
  m1["age"] = "520"
  m1["sex"] = "男"
  map3["技术"] = m1


  m2 := make(map[string]string)
  m2["name"] = "唐僧"
  m2["age"] = "30"
  m2["sex"] = "男"
  map3["总经理"] = m2


  fmt.Println(map3)


  fmt.Println("__________________________")


  map4 :=make(map[string]string)
  map4["孙悟空"] = "猴"
  map4["猪八戒"] = "猪"
  map4[" 白龙马 "] = "龙"


  fmt.Println(map4)
  map5 := map4
  fmt.Println(map5)


  map5["白龙马"] = "马"
  fmt.Println(map4)


}  

运行输出:

 map[int]string
map[string]float64
map[总经理:map[age:30 name:唐僧 sex:男] 技术:map[age:520 name:孙悟空 sex:男]]
__________________________
map[孙悟空:猴 猪八戒:猪 白龙马:龙]
map[孙悟空:猴 猪八戒:猪 白龙马:龙]
map[孙悟空:猴 猪八戒:猪 白龙马:马]


Process finished with exit code 0  

读完点个赞,给我的坚持更新注入新的活力。

2022.05. 23 日更 75/365 天

公众号:3天时间

往期同类文章:

GO学习 Map的遍历

GO学习 Map的使用

文章来源:智云一二三科技

文章标题:GO学习 Map的类型以及结合切片运用

文章地址:https://www.zhihuclub.com/98814.shtml

关于作者: 智云科技

热门文章

网站地图