//内置数据类型map hash(乱序的)
package main
import"fmt"
func main(){
//第一种声明方式 声明+分配空间分开写
//1.声明myMap1 无底层空间的,是空的 无法使用的
var myMap1 map[string] string
if myMap1 ==nil{
fmt.Println("mymap1是一个空的")
}
//2.分配空间
make(map[string]string,10)
myMap1["one"]="java"
myMap1["two"]="c++"
myMap1["three"]="python"
fmt.Println(myMap1)
//第二种声明方式 声明+make 直接赋值
myMap2:=make(map[int]string)
myMap2[1]="java"
myMap2[2]="c++"
myMap2[3]="python"
fmt.Println(myMap2)
//第三种声明方式 最后一行也是要有,的 直接赋值
myMap3:=map[string]string{
"one":"php",
"two":"c++",
"three":"python",
}
fmt.Println(myMap3)
}
map的增删改查
//增删改查
package main
import "fmt"
//map是一个引用传递
func printMap(cityMap map[string]string){
for key,value :=range cityMap{
fmt.Println("key =",key)
fmt.Println("value =",value)
}
}
//修改map
func ChangeValue(cityMap map[string]string){
citymap["England"]="London"
}
func main(){
citymap:=make(map[string]string)
//增加
citymap["China"]="Beijing"
citymap["Japan"]="Tokey"
citymap["USA"]="NewYork"
//遍历
printMap(cityMap)
//删除
delete(citymap,"China")
//修改
citymap["USA"]="DC" //修改
ChangeValue(citymap) //增加
fmt.Println("---------")
//遍历
printMap(cityMap)
}