mapping 声明
1 2 3 4 5 6 7 8 9 10 11 12 13 var map1 map [string ]string map2 := make (map [string ]string ) var m1 map [int ]string var m2 map [float64 ]string var m3 map [bool ]string var m4 map [string ]string
mapping定义与初始化
1、声明时同时初始化
1 2 3 4 5 6 7 8 9 10 11 12 var country = map[string]string{ "China": "Beijing", "Japan": "Tokyo", "India": "New Delhi", "France": "Paris", "Italy": "Rome", } fmt.Println(country) //短变量声明初始化方式 rating := map[string]float64{"c": 5, "Go": 4.5, "Python": 4.5, "C++": 3} fmt.Println(rating)
2、创建map后再赋值
1 2 3 4 5 6 countryMap := make(map[string]string) countryMap["China"] = "Beijing" countryMap["Japan"] = "Tokyo" countryMap["India"] = "New Delhi" countryMap["France"] = "Paris" countryMap["Italy"] = "Rome"
mapping遍历
(1)、key 、value都遍历
1 2 3 for k, v := range countryMap { fmt.Println("国家", k, "首都", v) }
(2)、只展示value
1 2 3 for _, v := range countryMap { fmt.Println("国家", "首都", v) }
(3)、只展示key
1 2 3 for k := range countryMap { fmt.Println("国家", k , "首都", countryMap[k]) }
(4)、查看元素是否在map中存在
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 value , ok := countryMap["England"] fmt.Printf("%q \n" , value) fmt.Printf("%T , %v \n" , ok , ok) if ok { fmt.Println("首都:" , value) } else { fmt.Println("首都信息未检索到!") } //第二种方式 if value ,ok :=countryMap["USA"];ok { fmt.Println("首都:" , value) } else { fmt.Println("首都信息未检索到!") }
完整代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 package mainimport "fmt" func main () {var country = map [string ]string {"China" : "Beijing" ,"Japan" : "Tokyo" ,"India" : "New Delhi" ,"France" : "Paris" ,"Italy" : "Rome" , } fmt.Println(country) rating := map [string ]float64 {"c" : 5 , "Go" : 4.5 , "Python" : 4.5 , "C++" : 3 } fmt.Println(rating) countryMap := make (map [string ]string ) countryMap["China" ] = "Beijing" countryMap["Japan" ] = "Tokyo" countryMap["India" ] = "New Delhi" countryMap["France" ] = "Paris" countryMap["Italy" ] = "Rome" for k, v := range countryMap { fmt.Println("国家" , k, "首都" , v) } fmt.Println("-----------" ) for _, v := range countryMap { fmt.Println("国家" , "首都" , v) } fmt.Println("-----------" ) for k := range countryMap { fmt.Println("国家" , k , "首都" , countryMap[k]) } fmt.Println("-----------" ) value , ok := countryMap["England" ] fmt.Printf("%q \n" , value) fmt.Printf("%T , %v \n" , ok , ok) if ok { fmt.Println("首都:" , value) } else { fmt.Println("首都信息未检索到!" ) } if value ,ok :=countryMap["USA" ];ok { fmt.Println("首都:" , value) } else { fmt.Println("首都信息未检索到!" ) } }
mapping 删除
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 package mainimport "fmt" func main () { map1 := map [string ]string { "element" :"div" ,"width" :"100px" ,"height" :"200px" ,"border" :"solid" ,"background" :"none" , } fmt.Println("删除前:" ,map1) if _,ok := map1["background" ]; ok {delete (map1 , "background" ) } fmt.Println("删除后:" ,map1) map1 = make (map [string ]string ) fmt.Println("清空后:" ,map1) }
转载于:https://blog.51cto.com/13784902/2326695