go - 是否有内置方法可以从数组中删除第一项?

标签 go

学习Go,多么伟大的语言啊。

是否有内置方法可以删除数组中的第一项?有点像 PHP 的 array_shift

我有一个字符串,“棕色狐狸跳”

我找到了 strings.Fields() ,它将它变成了一个数组。我想将该字符串变成两个字符串:

“那个”,“棕色狐狸跳跃”

words := strings.Fields(theFoxString)
firstWord := // unshift first word from words
otherWords := // join what's left of words with ' '

感谢您的帮助!

最佳答案

如果我们有任何 slice a,我们可以这样做:

x, a := a[0], a[1:]

因此使用您的代码,我们得到:

words := strings.Fields(theFoxString)
firstWord, otherWords := words[0], words[1:]

请记住,底层数组没有改变,但是我们用来查看该数组的 slice 已经改变了。对于大多数用途来说,这是可以的(甚至在性能方面也是有利的!),但这是需要注意的事情。

来源: https://github.com/golang/go/wiki/SliceTricks

关于go - 是否有内置方法可以从数组中删除第一项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44172255/

相关文章:

go - Cast interface{} 以输入模板

go - for循环中的变量在外部未定义

go - net/http导入第一个路径元素中的缺失点

database - aerospike-go 库中的嵌入式结构意外行为

dictionary - 删除 map 中的键

go - Go bytes.Buffer 是线程安全的吗?

去 channel 无限循环

build - 构建后删除 .a 文件 - GoLang

go - 如何使用 golang knq/chromedp 检查页面中是否存在元素

go - 错误;不能将 imageName(类型 ImageName)用作 appendgo 中的 dao.ImageName 类型