公司做网站注意什么,广州冼村房价多少钱一平方,网页项目,网站地图怎么样做更利于收录文章目录 Map Map map是一种特殊的数据结构#xff1a;一种元素对pair的无序集合#xff0c;pair的一个元素是key#xff0c;对应一个value#xff0c;这种结构也称为“关联数组或字典”引用类型 map声明
var map1 map[keytype] valuetype
var map1 map[string] intmap可以… 文章目录 Map Map map是一种特殊的数据结构一种元素对pair的无序集合pair的一个元素是key对应一个value这种结构也称为“关联数组或字典”引用类型 map声明
var map1 map[keytype] valuetype
var map1 map[string] intmap可以动态增长key可以是任意用或!操作符比较的类型string、int、float切片和结构体不能作为key只包含内建类型的struct可以指针和接口类型可以value可以是任意类型的也可以用函数作为自己的值 map1[key1]val1
v:map1[key]
len(map1)var mapLit map[string] int
var mapAssigned map[string] intmapLitmap[string] int{one:1,two:2}
mapCreated:make(map[string] float32)
// mapCreated:map[string] float32
//map是引用类型的内存用make方法来分配
mapAssignedmapLit
//mapAssigned是mapLit的引用修改mapAssigned的修改也会影响到mapLit的值mf:map[int] func()int{1:func()int{return 10},2:func()int{return 20},5:func()int{return 50},
}如果一个key要对应多个值 可以将value定义为[]int类型或者其他类型的切片
map1:make(map[int] []int)
map2:make(map[int] *[]int)测试键值对是否存在以及删除元素 map1[key1]的方法获取key1对应的值val1如果不存在val1是空值无法区分key1不存在还是它对应的value就是空值可以用val1,isPresentmap1[key1]isPresent返回一个bool值如果key1存在map1val1对应值isPresent为truekey1不存在val1是空值isPresent会返回false
//仅判断某个key是否存在
_,ok:map1[key1]
//或者
if _,ok:map1[key1];ok{//...
}删除key可以使用delete(map1,key1)key1不存在也不会报错 for-range
for key,value:range map1{...
}
//只获取value
for _,value:range map1{...
}
//只获取key值
for key:range map1{...
}map类型切片 必须使用两次make()函数第一次分配切片第二次分配切片中的每个map元素 //version A:
items:make([]map[int] int ,5)
for i:range items{items[i]make(map[int]int,1)items[i][1]2
}
//version B:not good
items2:make([]map[int],int,5)
for _,item:range items2{itemmake(map[int]int,1)item[1]2
}
//Version A: Value of items: [map[1:2] map[1:2] map[1:2] map[1:2] map[1:2]]
//Version B: Value of items: [map[] map[] map[] map[] map[]]map的排序 map默认无序 想要对map排序需要将key或value拷贝到一个切片再对切片排序 var (barVal map[string]int{alpha: 34, bravo: 56, charlie: 23,delta: 87, echo: 56, foxtrot: 12,golf: 34, hotel: 16, indio: 87,juliet: 65, kili: 43, lima: 98}
)keys : make([]string, len(barVal))
i : 0
for k, _ : range barVal {keys[i] ki
}
sort.Strings(keys)