Go切片特点笔记

特点

1.只有append操作

不支持随机增删

2.支持子切片

数组和切片都可以通过[start:end] 的形式

来获取子切片:

1.arr[start:end],获得[start,end)之间的元素。
2.arr[:end],获得[0,end)之间的元素。
3.arr[start:],获得[start,len(arr))之间的元素。

都是左闭右开!

3.内存共享问题

核心:共享数组。

子切片和切片究竟会不会互相影响,就抓住一点:

它们是不是还共享数组?

就是如果它们结构没有变化,那肯定是共享的;但是结构变化了,就可能不是共享了

什么情况下结构会发生变化?
扩容 了,

所以,任何情况下要判断是否内存共享,就注意一个点:有没有扩容。

相关推荐
CoovallyAIHub11 分钟前
Vision Transformers与卷积神经网络详细训练对比(附代码)
深度学习·算法·计算机视觉
地平线开发者13 分钟前
征程 6 逆向自证hbm与bc一致性
算法·自动驾驶
算AI16 分钟前
LLM用于科学假设生成:探索与挑战
人工智能·算法
1白天的黑夜120 分钟前
贪心算法-2208.将数组和减半的最小操作数-力扣(LeetCode)
c++·算法·leetcode·贪心算法
AAAA劝导tx29 分钟前
List--链表
数据结构·c++·笔记·链表·list
格格Code30 分钟前
八大排序——冒泡排序/归并排序
数据结构·算法·排序算法
愚润求学41 分钟前
【Linux】进程优先级和进程切换
linux·运维·服务器·c++·笔记
C语言魔术师1 小时前
62.不同路径
算法·leetcode·动态规划
fantasy_41 小时前
LeetCode238☞除自身以外数组的乘积
java·数据结构·python·算法·leetcode
椰羊~王小美1 小时前
贪心算法和动态规划
算法·贪心算法·动态规划