第一种创建map的方法, make
package main
import (
"fmt"
)
func main() {
// map[key的类型]value类型
var userInfo = make(map[string]string)
userInfo["username"] = "谢谢"
userInfo["email"] = "xxp@qq.com"
userInfo["sex"] = "男"
//获取全部
fmt.Println(userInfo)
//获取部分数据
fmt.Println(userInfo["username"])
}
结果
第二种创建map的方法,通过初始化赋值,填充元素
package main
import (
"fmt"
)
func main() {
//通过初始化赋值,填充元素
var class = map[string]string{
"className": "class12",
"teacher": "张老师",
"school": "西工大附中",
}
fmt.Println(class)
}
第三种创建map的方法
//通过类型推导方式来创建
class := map[string]string{
"className": "class12",
"teacher": "张老师",
"school": "西工大附中",
}
fmt.Println(class)
for range 循环遍历map数据类型
package main
import "fmt"
func main() {
//for range 循环遍历map数据类型
userInfo := map[string]string{
"username": "谢谢",
"email": "xxp@qq.com",
"sex": "男",
}
for k, v := range userInfo {
fmt.Println(k, v)
}
//fmt.Println(userInfo)
}
创建修改map类型的数据
package main
import "fmt"
func main() {
//修改map的值
userInfo := map[string]string{
"username": "谢谢",
"email": "xxp@qq.com",
"sex": "男",
}
userInfo["email"] = "golang@gmail.com"
fmt.Println(userInfo)
}
获取查找map类型的数据
package main
import "fmt"
func main() {
//修改map的值
userInfo := map[string]string{
"username": "谢谢",
"email": "xxp@qq.com",
"sex": "男",
}
//获取map的值
fmt.Println(userInfo["username"])
//查找某个值是否存在
//v值,ok返回状态(存在返回true,否则返回false)
v, ok := userInfo["email"]
fmt.Println(v, ok)
}
//如果查找不存在的值
v, ok := userInfo["cardid"]
fmt.Println(v, ok)
删除map的key和对应的值
package main
import "fmt"
func main() {
//修改map的值
userInfo := map[string]string{
"username": "谢谢",
"email": "xxp@qq.com",
"sex": "男",
}
fmt.Println(userInfo)
//获取map的值
delete(userInfo, "sex")
fmt.Println(userInfo)
}