1. map的概念
map是一个无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化.map是Go语言中提供映射关系容器,其内部使用散列表(Hash)实现。
2. map的定义
map[KeyType]ValueType
KeyType:表示键的类型
ValueType:表示键对应的值得类型
package main
import "fmt"
func main(){
//make(map[string]int,cap),使用make函数创建map,cap表示map的容量
scopeMap := make(map[string]int, 10)
scopeMap["小付"] = 90
scopeMap["小夏"] = 80
scopeMap["小张"] = 60
fmt.Println(scopeMap)
fmt.Println(scopeMap["小夏"])
fmt.Printf("%T",scopeMap)
//map也支持在声明时填充元素
username := map[string]string {
"username":"admin"
"password":"123"
}
fmt.Printfln(username)
}
3. map的遍历
package main
import "fmt"
func main() {
scopeMap := map[string]int{
"张三": 90,
"李四": 60,
"王五": 75,
}
for _, val := range scopeMap {
fmt.Println(val)
}
}
4. 判断键值是否存在
package main
import "fmt"
func main() {
scopeMap := make(map[string]int)
scopeMap["张三"] = 75
scopeMap["李四"] = 55
scopeMap["王五"] = 100
value, ok := scopeMap["张三"]
if ok {
fmt.Println(value)
} else {
fmt.Println("无此人")
}
val, yes := scopeMap["李六"]
if yes {
fmt.Println(val)
} else {
fmt.Println("无此人")
}
}
5.删除map中的键值对
package main
import "fmt"
func main() {
scopeMap := make(map[string]int)
scopeMap["张三"] = 75
scopeMap["李四"] = 55
scopeMap["王五"] = 100
fmt.Println(scopeMap)
delete(scopeMap, "李四")//删除map中键值为"李四"的键值对
fmt.Println(scopeMap)
}