Map結(jié)合切片的運(yùn)用
package main
import "fmt"
func main() {
? /*
? map和slice的結(jié)合使用:
? ? 1.創(chuàng)建map用于村春人的信息
? ? ? name,age,sex,address
? ? 2.每個map存儲一個人的信息
? ? 3.將這些map存入到slice中
? ? 4.打印遍歷輸出
? */
? //1.創(chuàng)建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"])
? }
}
運(yùn)行輸出:
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() {
? /*
? 一:數(shù)據(jù)類型:
? ? 基本數(shù)據(jù)類型:int,float,string,bool
? ? 復(fù)合數(shù)據(jù)類型:array,slice,map,function,pointer,struct...
? ? ? array:[size]數(shù)據(jù)類型
? ? ? slice:[]數(shù)據(jù)類型
? ? ? map:map[key的類型]value的類型
? 二:存儲特點(diǎn):
? ? 值類型: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["技術(shù)"] = m1
? m2 := make(map[string]string)
? m2["name"] = "唐僧"
? m2["age"] = "30"
? m2["sex"] = "男"
? map3["總經(jīng)理"] = 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)
}
運(yùn)行輸出:
map[int]string
map[string]float64
map[總經(jīng)理:map[age:30 name:唐僧 sex:男] 技術(shù):map[age:520 name:孫悟空 sex:男]]
__________________________
map[孫悟空:猴 豬八戒:豬 白龍馬:龍]
map[孫悟空:猴 豬八戒:豬 白龍馬:龍]
map[孫悟空:猴 豬八戒:豬 白龍馬:馬]
Process finished with exit code 0
讀完點(diǎn)個贊蝗罗,給我的堅(jiān)持更新注入新的活力邀泉。
2022.05.23日更 75/365 天
公眾號:3天時間
往期同類文章:
GO學(xué)習(xí) Map的遍歷
GO學(xué)習(xí) Map的使用