map就是键值对,类似其他语言的Object对象。
值得注意的是,map在函数/方法 传递参数的时候是引用传递,并不是值传递
package main
import "fmt"
func main() {
//var cityMap map[string]string //此时cityMap值为nil
cityMap2 := make(map[string]string, 10) //声明一个容量为10的map
fmt.Printf("cityMap is %v\n", cityMap2)
cityMap3 := map[string]string{
"China": "Beijing",
"Japan": "Tokyo",
"USA": "New york",
}
fmt.Printf("cityMap is %v\n", cityMap3)
changeCity(cityMap3)
fmt.Println("==================")
for index, item := range cityMap3 {
fmt.Println(index, "=", item)
}
}
// 这里是引用传递
func changeCity(cityMap map[string]string) {
delete(cityMap, "Japan") //将会影响原值
cityMap["England"] = "London" //将会影响原值
}