golang 实现在切片中删除元素
时间: 2023-08-30 16:11:09 浏览: 190
pools:Golang 对象和切片池
在 Golang 中,可以使用切片的 `append()` 函数和切片的切片操作来删除一个元素。
例如,假设我们有一个切片 `slice`,要删除其中的第 `i` 个元素,可以按照以下步骤进行:
1. 将 `slice` 分为两个子切片 `slice[:i]` 和 `slice[i+1:]`。
2. 将这两个子切片使用 `append()` 函数连接起来,形成新的切片。
示例代码如下:
```go
func remove(slice []int, i int) []int {
copy(slice[i:], slice[i+1:])
return slice[:len(slice)-1]
}
```
这里的 `remove()` 函数接收一个整型切片 `slice` 和要删除的元素的下标 `i`,并返回删除元素后的新切片。使用 `copy()` 函数将 `slice[i+1:]` 的元素复制到 `slice[i:]` 中,然后使用切片操作 `slice[:len(slice)-1]` 删除最后一个元素。
阅读全文