golang语言渐入佳境[17]-mapping表
1
2
3
4
5
6
7
8
9
10
11
12
13
//1、声明map的方式1
var map1 map[string]string
//2、声明map的方式2
map2 := make(map[string]string)
//3、map中key可以是:int、float、bool、string、数组
//一定不可以是:切片、函数、map
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 main
import "fmt"
func main() {
//1、声明时同时初始化
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后再赋值
countryMap := make(map[string]string)
countryMap["China"] = "Beijing"
countryMap["Japan"] = "Tokyo"
countryMap["India"] = "New Delhi"
countryMap["France"] = "Paris"
countryMap["Italy"] = "Rome"
//3、遍历map(无序)
//(1)、key 、value都遍历
for k, v := range countryMap {
fmt.Println("国家", k, "首都", v)
}
fmt.Println("-----------")
//(2)、只展示value
for _, v := range countryMap {
fmt.Println("国家", "首都", v)
}
fmt.Println("-----------")
//(3)、只展示key
for k := range countryMap {
fmt.Println("国家", k , "首都", countryMap[k])
}
fmt.Println("-----------")
//4、查看元素是否在map中存在
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() {
//1、声明并初始化一个map
map1 := map[string]string {
"element":"div",
"width" :"100px",
"height":"200px",
"border":"solid",
"background":"none",
}
//2、根据key删除map中的某个元素
fmt.Println("删除前:",map1)
if _,ok := map1["background"]; ok {
delete(map1 , "background")
}
fmt.Println("删除后:",map1)
//3、清空map
//map1 = map[string]string{}
map1 = make(map[string]string)
fmt.Println("清空后:",map1)
}
本文链接:https://dreamerjonson.com/2018/11/26/golang-17-mapping/
版权声明:本博客所有文章除特别声明外,均采用CC BY 4.0 CN协议许可协议。转载请注明出处!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。