是否有内置方法从阵列中删除第一个项目?

时间:2017-05-25 04:26:43

标签: go

学习Go,多么好的语言。

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

我有一根绳子,"棕色的狐狸跳了#34;

我发现strings.Fields()会把它变成一个数组。我想把这个字符串变成两个字符串:

"","棕色狐狸跳跃"

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

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

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

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

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

请记住,底层数组没有改变,但我们用来查看该数组的切片有。在大多数情况下,这是可以的(甚至有利于性能!),但需要注意的事项。

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