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)、只展示value1 2 3
| for _, v := range countryMap { fmt.Println("国家", "首都", v) }
|
(3)、只展示key1 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 main
import "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 main
import "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://dreamerjonson.com/2018/11/26/golang-17-mapping/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!

|