是否有内置的方法来从数组中删除第一个项目?
问题描述:
学习围棋,多么伟大的语言。是否有内置的方法来从数组中删除第一个项目?
是否有内置的方法来删除数组中的第一项?有点像PHP的array_shift
我有一个字符串“的棕色狐狸跳过”
我发现strings.Fields()
它把它变成一个数组。我希望把这一字符串转换为两个字符串:
“的”,“棕色狐狸跳过”
words := strings.Fields(theFoxString)
firstWord := // unshift first word from words
otherWords := // join what's left of words with ' '
谢谢您的帮助!
答
如果我们有任何切片a
,我们可以这样做:
x, a := a[0], a[1:]
因此,使用你的代码,我们可以得到:
words := strings.Fields(theFoxString)
firstWord, otherWords := words[0], words[1:]
记住底层阵列并没有改变,但我们用来看这个数组的切片。对于大多数目的来说,这是可以的(甚至是有利的性能!),但它是需要注意的。
注:如果'theFoxString'不包含的话会出现运行时间恐慌。确保在切片之前检查“单词”的长度。 –