不同于切片根据索引查找值,map 类型是根据 key 查找值
map 是引用类型,声明语法
var map_name map[key_type]value_type
var student = map[string]string{
"name": "yu",
"age": "32",
}
其中
- map_name 为 map 的变量名
- key_type 为键类型
- value_type 是键对应的值类型
切片声明并初始化
var student = map[string]string{
"name": "yu",
"age": "32",
}
fmt.Println(student)
结果
map[age:32 name:yu]
(1)切片是基于索引,map 是基于键(map用键替代索引)。支持key查询 map对象[key] map的存储没有顺序
(2)修改和添加是类似的。如果这个key没有,就是添加。如果存在,就是修改
(3)删除一个key-value,delete(map对象, key值)
package main
import "fmt"
func main() {
var student = map[string]string{
"name": "yu",
"age": "32",
}
fmt.Println("初始的map: ", student)
fmt.Println("姓名: ", student["name"], "年龄: ",student["age"])
fmt.Println("map的长度: ", len(student))
student["gender"] = "male"
student["height"] = "180"
fmt.Println("添加之后: ", student)
student["height"] = "190"
fmt.Println("修改之后: ", student)
delete(student, "gender")
fmt.Println("删除之后: ", student)
}
结果
初始的map: map[age:32 name:yu]
姓名: yu 年龄: 32
map的长度: 2
添加之后: map[age:32 gender:male height:180 name:yu]
修改之后: map[age:32 gender:male height:190 name:yu]
删除之后: map[age:32 height:190 name:yu]
网友评论