map结构,个人觉得可以和php的array就是一个样,是一个key-value的hash结构。在go中key可以是除了func,array,slice,map类型之外的类型
简单使用:
m:=map[string]string{}
m["key1"]="val1"
map结构和slice是一样的,是一个指针。赋值的时候是将指针复制给新的变量
map 的增删改查操作:
package main
import "fmt"
func main(){
m:=map[string]string{"key1":"value"}
fmt.Println(m)
m["key2"]="value2"
fmt.Println(m)
p:=m["key1"]
fmt.Println(p)
delete(m,"key1")
fmt.Println(m)
}
new和make区别
new(T) 可以用来创建普通类型,返回一个指向初始化T值的指针。
make(S) 只能用来创建slice,map,channel。返回一个初始化的S值(相当于指针)。