美文网首页
GO学习 Map的类型以及结合切片运用

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

作者: 3天时间 | 来源:发表于2022-05-23 22:50 被阅读0次

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.haomeiwen.com/subject/kkmdprtx.html