2017-05-25 67 views
0

學習圍棋,多麼偉大的語言。是否有內置的方法來從數組中刪除第一個項目?

是否有內置的方法來刪除數組中的第一項?有點像PHP的array_shift

我有一個字符串「的棕色狐狸跳過」

我發現strings.Fields()它把它變成一個數組。我希望把這一字符串轉換爲兩個字符串:

「的」,「棕色狐狸跳過」

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

謝謝您的幫助!

回答

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

+2

注:如果'theFoxString'不包含的話會出現運行時間恐慌。確保在切片之前檢查「單詞」的長度。 –

相關問題