⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

Go 切片进阶

append 删除、copy、多维切片、nil vs empty · 难度:进阶 · +20XP

切片进阶操作

删除元素

Go 没有内置的删除方法,用 append + 切片组合实现:

s := []int{1, 2, 3, 4, 5}
// 删除索引 2 的元素(值 3)
s = append(s[:2], s[3:]...)  // [1, 2, 4, 5]

// 删除最后一个 s = s[:len(s)-1]

复制切片

src := []int{1, 2, 3}
// 创建等长切片并复制
dst := make([]int, len(src))
copy(dst, src)   // dst 是独立副本

// 注意:直接赋值只是复制引用 s2 := src // 指向同一个底层数组,修改 s2 会影响 src

nil vs empty slice

var nilSlice []int           // nil,len=0,cap=0
emptySlice := []int{}        // empty,len=0,cap=0
madeSlice := make([]int, 0)  // empty,len=0,cap=0
// JSON: nil → null, empty → []
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 142 篇
0 完成
🔥 0