GO语言中的切片在动态阵列中很受欢迎。我们都知道阵列的长度是固定的。声明声明后,阵列的长度是固定的;您可以继续增加切片的长度。让我们看一下切片的数据结构是什么。
如上所述:
数组指向的地方是连续的内存空间,存储了切片的元素;连续内存空间+长度+容量形成切片。在这里,它可以被视为阵列的摘要,因为如果Len和Cap保持不变,则切片的本质是切片的本质,是切片阵列的本质。但是切片和帽子会改变,所以这是切片。
切片陈述:
如果我们想获得一部分,我们可以
通过M [start:end]方法获得部分切片。它包含启动不包括结束出价到原始切片元素的末尾。让LET在下面查看一个有趣的代码,然后了解切片:
上述代码输出将是多少?一开始,您是否认为第一个输出是:[1,2,4,5,6]第二个输出是:[7,2,4,5,6]
正确的答案绝对不是。这两个正确的输出都是:[1,2,4]
为什么?让我们尽快分析此代码
那么两个输出均为[1,2,4]。
在这里,我们了解切片的膨胀机制:当帽子不够,如果切片元素的数量超过1024,则它会加倍;如果元素大于1024,则扩展为1.25次,每次扩展后,每个扩展将成为一个新切片。