【GoLang】切片的面试知识点

nil切片 和 空切片

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

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

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

append 如何添加切片

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

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

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

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

判断函数:

  1. reflect.DeepEqual()

  2. 自定义函数

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

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

相关推荐
零售ERP菜鸟16 小时前
范式革命:从“信息化”到“数字化”的本质跃迁
大数据·人工智能·职场和发展·创业创新·学习方法·业界资讯
发现一只大呆瓜16 小时前
虚拟列表:支持“向上加载”的历史消息(Vue 3 & React 双版本)
前端·javascript·面试
千寻girling17 小时前
Koa.js 教程 | 一份不可多得的 Node.js 的 Web 框架 Koa.js 教程
前端·后端·面试
程序员清风17 小时前
北京回长沙了,简单谈谈感受!
java·后端·面试
网络安全-杰克18 小时前
2026面试自动化测试面试题【含答案】
自动化测试·软件测试·面试·职场和发展
努力学算法的蒟蒻20 小时前
day79(2.7)——leetcode面试经典150
算法·leetcode·职场和发展
CodeSheep程序羊20 小时前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展
学历真的很重要20 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
hqyjzsb21 小时前
盲目用AI提效?当心陷入“工具奴”陷阱,效率不增反降
人工智能·学习·职场和发展·创业创新·学习方法·业界资讯·远程工作