【GoLang】切片的面试知识点

nil切片 和 空切片

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

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

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

append 如何添加切片

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

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

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

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

判断函数:

  1. reflect.DeepEqual()

  2. 自定义函数

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

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

相关推荐
澄岚明雪24 分钟前
力扣经典题目之14. 最长公共前缀
算法·leetcode·职场和发展
qy发大财1 小时前
组合(力扣77)
数据结构·算法·leetcode·职场和发展
uhakadotcom1 小时前
Apache MINA 反序列化远程代码执行漏洞 (CVE-2024-52046)
后端·面试·架构
ThisIsClark3 小时前
【后端面试总结】ES的_template与_index_template技术详解
elasticsearch·面试·jenkins
web130933203983 小时前
JAVA面试之容器
java·开发语言·面试
程序员小远5 小时前
接口自动化测试框架(pytest+allure+aiohttp+ 用例自动生成)
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·pytest
LeeZhao@5 小时前
【AIGC魔童】DeepSeek v3推理部署:vLLM/SGLang/LMDeploy
人工智能·语言模型·自然语言处理·面试·aigc
Hello小赵7 小时前
蓝桥杯嵌入式备赛(三)—— LED +按键 + LCD
单片机·职场和发展·蓝桥杯
lihan_freak9 小时前
java中equals和hashCode为什么要一起重写
java·面试·哈希算法·equals·hashcode