关于go:Go数组与切片

数组的申明形式

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并不反对并发的读写,但反对并发的读
负载因子的计算:负载因子=哈希表中的元素数量/桶数量

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理