Go入门之map
map类型是引用类型,必须初始化才能使用,为key-value形式
var userinfo = make(map[string]string)
userinfo["username"] = "zhangsan"
var user = map[string]string{
"username": "张三",
"age": "20",
}
for k, v := range user {
fmt.Printf("%v %v\n", k, v)
}
初始化方式可以通过make方法,遍历通过range
v, ok := user["username"]
fmt.Println(v, ok)
此为查找map中key对应的值是否存在,存在ok返回true,v返回对应的值,否决ok返回false,v返回空
删除用delete函数()
delete(user, "username")
map类型的切片
var userinfo = make([]map[string]string, 2, 2)
if userinfo[0] == nil {
userinfo[0] = make(map[string]string)
userinfo[0]["username"] = "张三"
userinfo[0]["age"] = "20"
}
if userinfo[1] == nil {
userinfo[1] = make(map[string]string)
userinfo[1]["username"] = "张si"
userinfo[1]["age"] = "209"
}
fmt.Println(userinfo)
map类型的值可以是切片
var userinfo = make(map[string][]string)
userinfo["hobby"] = []string{
"吃饭",
"睡觉",
}
fmt.Println(userinfo)