文章目录
定义用法创建嵌套 map无序遍历有序遍历删除
判断key是否存在
定义
k - v 的映射关系无序引用类型
用法
创建
var a
map[string]int
a
= make(map[string]int, 8)
a
["Tim"] = 100
a
["Tom"] = 99
b
:= make(map[string]int, 8)
gender
:= map[string]int{
"Tim": 0,
"Lily": 1,
}
嵌套 map
package main
func main() {
a
:= make(map[string]map[string]int, 2)
a
["语文"] = make(map[string]int, 2)
a
["语文"]["上"] = 100
a
["语文"]["下"] = 99
a
["数学"] = make(map[string]int, 2)
a
["数学"]["上"] = 100
a
["数学"]["下"] = 100
for _, v
:= range a
{
fmt
.Println(v
)
}
}
无序遍历
package main
import (
"fmt"
"math/rand"
)
func main() {
a
:= make(map[string]int, 5)
for i
:= 0; i
< 5; i
++ {
k
:= fmt
.Sprintf("stud", i
)
v
:= rand
.Intn(100)
a
[k
] = v
}
for k
,v
:= range a
{
fmt
.Println(k
, v
)
}
}
有序遍历
package main
import (
"fmt"
"math/rand"
"sort"
)
func main() {
a
:= make(map[string]int, 5)
for i
:= 0; i
< 5; i
++ {
k
:= fmt
.Sprintf("stud", i
)
v
:= rand
.Intn(100)
a
[k
] = v
}
keys
:= make([]string, 0, 5)
for k
:= range a
{
keys
= append(keys
, k
)
}
sort
.Strings(keys
)
for _, v
:= range keys
{
fmt
.Println(v
, a
[v
])
}
}
删除
package main
import "fmt"
func main() {
a
:= make(map[string]int, 2)
a
["Tom"] = 100
a
["Tim"] = 80
fmt
.Println(a
)
_, ok
:= a
["Tom"]
if ok
{
delete(a
, "Tom")
}
fmt
.Println(a
)
}
判断key是否存在
package main
import "fmt"
func main() {
a
:= map[string]int{
"语文": 100,
"数学": 99,
}
v
, ok
:= a
["语文"]
if ok
{
fmt
.Println(v
)
} else {
fmt
.Println("不存在")
}
}
转载请注明原文地址: https://yun.8miu.com/read-52750.html