Go映射基础知识
/Go语言中的map是引用类型,必须初始化才能使用。
map类型的变量默认初始值为nil,需要使用make()函数来分配内存。
make(map[KeyType]ValueType, [cap])/
package main
import "fmt"
//初始化
func mapcreat(){
score:=make(map[string]int,8)
score["xiaoming"]=88
fmt.Println(score,score["xiaoming"])//->map[xiaoming:88] 88
inifo:=map[string]string{
"username" : "Eric",
"paseword" : "123456",
}//初始化时直接赋值,->map[paseword:123456 username:Eric],","不要忘记!!!
fmt.Println(inifo)
}
//判断键值-> value, ok := map[key]
func judge(){
inifo:=map[string]string{
"username" : "Eric",
"paseword" : "123456",
}
value, ok := inifo["username"]//ok返回bool
if ok{
fmt.Println(value)//value返回键对应的值,->Eric
}else{
fmt.Println("no")
}
}
//遍历 for range
func rangemap(){
scoreMap := map[string]int{
"张三":90,
"小明":100,
"王五":60,
}
for n,k:=range scoreMap{//n->键,k->值
fmt.Println(n,k)
}
}
/*小明 100 王五 60 张三 90*/
//delete()删除函数
func deletemap(){
scoreMap := map[string]int{
"张三":90,
"小明":100,
"王五":60,
}
delete(scoreMap,"张三")//删除"张三"
for n,k:=range scoreMap{//n->键,k->值
fmt.Println(n,k)
}
}
func main() {
mapcreat()
judge()
rangemap()
deletemap()
}