1、数据结构:type slice struct {
array unsafe.Pointer //array地址指针
len int //长度
cap int //容量
}
2、slice扩容实际上重新配一块更大的内存,将原Slice数据拷贝进
新Slice,然后返回新Slice扩容后再将数据追加进去
2.1、扩容容量的选择遵循以下规则:
如果原Slice容量小于1024,则新Slice容量将扩大为原来的2倍
如果原Slice容量大于等于1024,则新Slice容量将扩大为原来的1.25倍;
map详解
1、map本身是一组无序的基于key-value的数据结构
2、map是引用类型,必须初始化才能使用
3、判断可以是否存在:value, ok := map[key]
4、map的遍历:for range
5、删除map的键值对:delete(map, key)
6、切片中的元素可为map,map中的元素可为切片