【GoLang】切片的面试知识点

nil切片 和 空切片

nil切片是只声明但未初始化,没有分配底层数组的内存空间,

空切片是初始化了的,有分配数组内存,只是数组内没有元素。

二者都可以正常扩容、遍历。不会报错。

append 如何添加切片

append 可以增加切片,通过在切片后面加上...,就可以进行添加。

如何比较两个切片是否相等,判断依据是什么

判断依据:1. 切片长度; 2. 切片指向数组的所有元素

只要两个切片的长度相等并且指向数组内所有元素及顺序都相等,那么两个切片就相等。两个数组可以不是同一个数组。

判断函数:

  1. reflect.DeepEqual()

  2. 自定义函数

使用[a:b]对切片进行截取

使用[a:b]对切片进行截取得到的新切片,新切片的长度是b-a ,容量是底层数组长度-a。新切片与旧切片共用一个底层数组

相关推荐
前端大波12 分钟前
前端高级面试通关包(P7+/架构向/AI 方向,完整版)
面试·前端面试题·前端高级
人道领域24 分钟前
【LeetCode刷题日记】:从 LeetCode 经典题看哈希表的场景化应用---数组、HashSet、HashMap 选型与算法实战
算法·leetcode·面试
yoyobravery27 分钟前
蓝桥杯第16届单片机
单片机·职场和发展·蓝桥杯
zjeweler1 小时前
网安护网面试-1-长亭护网面试
web安全·网络安全·面试·职场和发展
哈里谢顿10 小时前
如何实现分布式锁
面试
wfbcg10 小时前
每日算法练习:LeetCode 209. 长度最小的子数组 ✅
算法·leetcode·职场和发展
yoyobravery11 小时前
蓝桥杯第15届单片机满分
单片机·职场和发展·蓝桥杯
白露与泡影12 小时前
Java面试题库及答案解析(2026版)
java·开发语言·面试
June bug12 小时前
全链路测试
功能测试·面试·职场和发展
倦王12 小时前
力扣日刷47
算法·leetcode·职场和发展