- 1.map
- 2.定义Map
- 3.Map的使用
- 4.遍历Map
- 5.map结合slice使用">5.map结合slice使用
1.map
- map是一种无序的键值集合- 通过key快速检索数据,类似于索引,指向数据的值- 是一种集合,可以迭代,因为是无序的,所以返回结果不是固定的
2.定义Map
func main() {//1.使用make创建//make(map[KeyType]ValueType,initialCapacity)//KeyType 键类型,ValueType 值类型 initialCapacity 初始容量 可选map1 := make(map[string]int) //创建空的mapmap2 := make(map[string]int, 10) //创建容量为10的mapmap1["1"]=1fmt.Println(map1["1"], map2)// 2.map关键字定义var m map[string]intvar m1 = map[string]int{"apple": 1, //key,value"banana": 2,"orange": 3,}fmt.Println(m)fmt.Println(m1["apple"])}
3.Map的使用
func main(){//创建初始化mapmap1 :=make(map[int]string)//- map[key] = value 。将vaule赋值给对应的map的keymap1[1]="java"map1[1]="java+" //如果key存在,就会覆盖原有的值,map1[2]="golang"map1[3]="pythone"fmt.Println(map1)//- 判断key是否存在,value, ok = map[key]value,key:=map1[1]if key{fmt.Println("key存在:",key,"value值是:",value)}else{fmt.Println("key不存在")}//- 删除map中的元素, delete(map,key)delete(map1,3)fmt.Println(map1)//- 新增 map[key] = valuemap1[4]="php"fmt.Println(map1)//- 修改 map[key] = value ,如果存在这个key就是修改。map1[4]="php+"fmt.Println(map1)//- 查看map的大小, len(map)fmt.Println(len(map1))}
4.遍历Map
func main(){//创建初始化mapmap1:=make(map[int]string)map1[1]="QQ"map1[2]="WW"map1[3]="EE"map2:=map[string]int{"1":1,"2":2,"3":3}//for key,value range map{} 遍历map//因map是无序的,所以每次输出顺序可能不一样for k, v := range map1 {fmt.Print(k,v)}for k,v :=range map2{fmt.Print(k,v)}}
5.map结合slice使用
func main() {//创建map保存信息map1 := make(map[string]string)map1["name"] = "李一"map1["sex"] = "男"map1["age"] = "20"map2 := map[string]string{"name": "李二","sex": "男","age": "34",}//创建切片并放入数据userDatas := make([]map[string]string, 2, 3)userDatas = append(userDatas, map1)userDatas = append(userDatas, map2)//for range 输出信息for key, value := range userDatas {fmt.Println("key:", key)fmt.Println(value["age"])}}
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论