Map的使用
Map是一种常用的数据结构类型,也就是所谓的哈希表,通常我们知道的哈希,有哈希表,哈希算法等等,这里将要介绍的是哈希表,即Key-value键值对,是一个无序的集合,可以通过key来检索和修改或者删除value
Map的创建
map的格式一般为
map [keytype] valueType
一般来说,我们通常使用make来创建一个map,即为:
ages := make(map[string]int)
也可以顺便为其赋值,就是在创建时为其增加一些数据:
ages := make(map[string]int){
"name": zhang,
"sex": a,
}
也可以为其指定长度,但数据需要后面增加:
m3 := make(map[int]string, 10)
m3 := make(map[int]string, 2)
m3[1] = "mike"
m3[2] = "java"
m3[3] = "python"
fmt.Println("m3 = ", m3)
fmt.Println("len(m3) = ", len(m3))
注意:因为map的返回是无序的,所以每次我们输出结果时可能会有所不同
map的遍历和修改
map的遍历是很简单的,使用range函数即可
for key ,value := range map{
fmt.Printf("%d --> %s",key,value)
}
map的修改使用delete函数来实现
我们可以使用常规的delete函数来实现,如:
m4 := map[int]string{1: "mike",2: "string",3: "Go"}
delete(m4,2)
或者是构造结构体来调用
func delete01(m0 map[int]string){
delete(m0,x)
}
func main(){
m4 := map[int]string{1: "mike",2: "string",3: "Go"}
delete01(m4)
}
以上两种方式都是可以实现的,这就是map的一些简单的使用