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的使用
网友评论