【GoLang】切片的面试知识点

nil切片 和 空切片

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

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

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

append 如何添加切片

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

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

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

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

判断函数:

  1. reflect.DeepEqual()

  2. 自定义函数

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

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

相关推荐
纵有疾風起1 小时前
C++——多态
开发语言·c++·经验分享·面试·开源
ANYOLY2 小时前
Redis 面试题库
java·redis·面试
顾林海2 小时前
从0到1搭建Android网络框架:别再让你的请求在"路上迷路"了
android·面试·架构
拉不动的猪2 小时前
前端三大权限场景全解析:设计、实现、存储与企业级实践
前端·javascript·面试
uhakadotcom4 小时前
Loguru 全面教程:常用 API 串联与实战指南
后端·面试·github
培风图南以星河揽胜6 小时前
Java实习模拟面试|离散数学|概率论|金融英语|数据库实战|职业规划|期末冲刺|今日本科计科要闻速递:技术分享与学习指南
java·面试·概率论
艾斯比的日常7 小时前
JVM 内存结构:全面解析与面试重点
jvm·面试·职场和发展
gadiaola8 小时前
【计算机网络面试篇】HTTP
java·后端·网络协议·计算机网络·http·面试
鹏北海8 小时前
多标签页登录状态同步:一个简单而有效的解决方案
前端·面试·架构
程序员小白条9 小时前
你面试时吹过最大的牛是什么?
java·开发语言·数据库·阿里云·面试·职场和发展·毕设