1.定义及初始化
func main() {
gm := make(map[string]string) //[]内为下标类型,外为内容类型
gm["bed"] = "床"
gm["desk"] = "桌子"
gm["book"] = "书"
gm["computer"] = "电脑"
fmt.Println(gm)
map[bed:床 book:书 computer:电脑 desk:桌子]
/*用for...range形式输出*/
for c, e := range gm {
fmt.Println(c, ":", e)
}
}
bed : 床
desk : 桌子
book : 书
computer : 电脑
2.对map中的元素进行删除和查找
func main() {
gm := make(map[string]string) //[]内为下标类型,外为内容类型
gm["bed"] = "床"
gm["desk"] = "桌子"
gm["book"] = "书"
gm["computer"] = "电脑"
delete(gm, "bed")//删除下标为“bed”的元素
fmt.Println("after del ", gm)//输出删除后的map全部元素
/*利用comma-ok进行查找,如果找到则输出查找的内容,否则则输出“不存在”*/
if ch, ok := gm["bed"]; ok {
fmt.Println("bed means", ch)
} else {
fmt.Println("bed is not exit")
}
after del map[book:书 computer:电脑 desk:桌子]
bed is not exit.
3.map的应用
利用map做简单的学生信息系统的基础,根据学号查找学生信息
package main
import (
"fmt"
)
type Stu struct {
num string
name string
score int
}
func main() {
var key string
stumap := make(map[string]Stu)//内容类型为结构体
stumap["2190400101"] = Stu{"2190400101", "夏洛克", 100}
stumap["2190400102"] = Stu{"2190400102", "华生", 90}
stumap["2190400103"] = Stu{"2190400103", "茉莉", 89}
//初始化
fmt.Println("input the id:")
fmt.Scanln(&key)
if stuval, ok := stumap[key]; ok {
fmt.Println("found", stuval)
} else {
fmt.Println("not found")
}
}