【GoLang】切片的面试知识点

nil切片 和 空切片

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

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

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

append 如何添加切片

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

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

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

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

判断函数:

  1. reflect.DeepEqual()

  2. 自定义函数

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

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

相关推荐
渣哥16 小时前
你以为 Bean 只是 new 出来?Spring BeanFactory 背后的秘密让人惊讶
javascript·后端·面试
地方地方17 小时前
Vue依赖注入:provide/inject 问题解析与最佳实践
前端·javascript·面试
在未来等你17 小时前
Elasticsearch面试精讲 Day 26:集群部署与配置最佳实践
大数据·分布式·elasticsearch·搜索引擎·面试
渣哥17 小时前
原文来自于:[https://zha-ge.cn/java/128](https://zha-ge.cn/java/128)
javascript·后端·面试
渣哥17 小时前
项目写得再多也没用!Spring Bean 的核心概念要是没懂,迟早踩坑
javascript·后端·面试
爱coding的橙子18 小时前
每日算法刷题Day76:10.19:leetcode 二叉树12道题,用时3h
算法·leetcode·职场和发展
roykingw19 小时前
【终极面试集锦】如何设计微服务熔断体系?
java·微服务·面试
Jay丶19 小时前
聊聊入职新公司两个月,试用期没过这件事
前端·面试
程序员饼总19 小时前
面试官问:说说RocketMQ的零拷贝?
面试
爱和冰阔落20 小时前
【C++多态】虚函数/虚表机制与协变 、override和final关键字全解析
开发语言·c++·面试·腾讯云ai代码助手