go - 如何从 slice 中删除最后一个元素?

标签 go

我看到有人说只是通过附加旧 slice 来创建一个新 slice

*slc = append(*slc[:item], *slc[item+1:]...)

但是如果你想删除 slice 中的最后一个元素呢?

如果您尝试用 i+1 替换 i(最后一个元素),它会返回一个超出范围的错误,因为没有 i+1 .

最佳答案

您可以使用 len() 查找长度并使用最后一个元素之前的索引重新 slice :

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

Click here to see it in the playground

关于go - 如何从 slice 中删除最后一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26172196/

相关文章:

Golang Http 客户端请求在自定义 Http 状态代码上失败

go - 连接超时访问外部IP google compute engine

Golang 句柄静态文件夹

docker - undefined reference - 使用 Docker 构建 Golang CGO 失败,但在主机上失败

go - 从 PostgreSQL 查询整数数组总是返回 []uint8

dictionary - 无法分配给 map 中的对

go - main 函数是否运行一个 goroutine?

xml - 在Go中使用unmarshal无法访问命名空间的XML属性

go - 我应该如何用一个外键引用两个表?

go - 为什么 IntelliJ Idea 找不到 GO SDK 的位置?