数组的声明方式

var arr []int
var arr2 = [4]int{1,2,3,4}
arr3 :=[...]int{2,3,4}

数组在赋值和函数调用时的形参都是值复制
当数组的长度小于4时,运行时在栈中初始化
当数组的长度大于4时,启动时在静态区初始化

切片的初始化

var slice1 []int
var slice2 []int=make([]int,5)
var slice3 []int=make([]int,5,6)
slice4:=[]int{1,2,3,4}

切片的完整复制

//创建目标切片
nums1 :=make([]int,len(nums),cap(nums))
//将nums复制到nums1中
count:=copy(nums1,nums)

切片扩容后返回的地址不一定想等
可以用a=append(a,T)来保证其安全

关于go语言中的可比较性

切片,函数,map不可比较

关于map

map并不支持并发的读写,但支持并发的读
负载因子的计算:负载因子=哈希表中的元素数量/桶数量


自由自在像小鸟
4 声望1 粉丝