0

0

切片slice如何追加与删除元素

P粉602998670

P粉602998670

发布时间:2025-10-08 16:49:01

|

805人浏览过

|

来源于php中文网

原创

追加元素使用append函数,删除通过切片拼接或覆盖截断实现。slice := []int{1, 2, 3}; slice = append(slice, 4); slice = append(slice[:1], slice[2:]...)

切片slice如何追加与删除元素

Go语言中的切片(slice)是基于数组的抽象,可以动态增长和缩小。对切片进行追加和删除元素是常见操作,下面介绍如何实现。

追加元素到切片

使用内置函数 append() 可以向切片末尾添加一个或多个元素:

slice := []int{1, 2, 3}
slice = append(slice, 4)        // 添加单个元素
slice = append(slice, 5, 6)     // 添加多个元素
newSlice := []int{7, 8}
slice = append(slice, newSlice...) // 追加另一个切片的内容

注意:append 可能导致底层数组扩容,返回的是新切片,需接收返回值。

从切片中删除元素

Go 没有内置的删除函数,但可以通过切片操作实现删除。常用方式是根据索引位置“跳过”目标元素。

例如,删除索引为 i 的元素:

slice = append(slice[:i], slice[i+1:]...)

这表示保留 i 之前的部分,拼接 i 之后的部分,从而跳过第 i 个元素。

如果要删除最后一个元素:

绘蛙AI商品图
绘蛙AI商品图

电商场景的AI创作平台,无需高薪聘请商拍和文案团队,使用绘蛙即可低成本、批量创作优质的商拍图、种草文案

下载
if len(slice) > 0 {
    slice = slice[:len(slice)-1]
}

删除第一个元素:

if len(slice) > 0 {
    slice = slice[1:]
}

删除中间某个元素后,原切片长度减一。

小技巧与注意事项

删除元素时,若顺序不重要,可将最后一个元素移到待删位置,再缩容,提升效率:

if len(slice) > 0 {
    slice[i] = slice[len(slice)-1]
    slice = slice[:len(slice)-1]
}

这种方式适用于允许改变顺序的场景,比如去重或管理无序集合。

基本上就这些。追加用 append,删除靠切片拼接或覆盖截断,注意边界判断和赋值接收。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

401

2023.08.02

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

543

2024.08.29

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

73

2025.08.29

C++中int的含义
C++中int的含义

本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

197

2025.08.29

Go中Type关键字的用法
Go中Type关键字的用法

Go中Type关键字的用法有定义新的类型别名或者创建新的结构体类型。本专题为大家提供Go相关的文章、下载、课程内容,供大家免费下载体验。

234

2023.09.06

go怎么实现链表
go怎么实现链表

go通过定义一个节点结构体、定义一个链表结构体、定义一些方法来操作链表、实现一个方法来删除链表中的一个节点和实现一个方法来打印链表中的所有节点的方法实现链表。

446

2023.09.25

go语言编程软件有哪些
go语言编程软件有哪些

go语言编程软件有Go编译器、Go开发环境、Go包管理器、Go测试框架、Go文档生成器、Go代码质量工具和Go性能分析工具等。本专题为大家提供go语言相关的文章、下载、课程内容,供大家免费下载体验。

251

2023.10.13

0基础如何学go语言
0基础如何学go语言

0基础学习Go语言需要分阶段进行,从基础知识到实践项目,逐步深入。php中文网给大家带来了go语言相关的教程以及文章,欢迎大家前来学习。

699

2023.10.26

拼多多赚钱的5种方法 拼多多赚钱的5种方法
拼多多赚钱的5种方法 拼多多赚钱的5种方法

在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。

25

2026.01.26

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 4.2万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号