我追加了未知數量的項目(角落找尋10.000)初始化內容成片僅獲得從中分得一杯羹
le := 500
l := make([]string, le)
l = append(l, "a")
l = append(l, "b")
l = append(l, "c")
l = append(l, "d")
l = append(l, "...")
for i, v := range l{
fmt.Printf("i:%d-v:%s\n", i, v)
}
在這之後我的幻燈片包含
i:0-v:
...
i:500-v:a
i:501-v:b
i:502-v:c
i:503-v:d
i:504-v:e
我正在尋找一個方式來獲取只存儲在片中的初始化項目。 我想被擺脫i:0-v:
到i:499-v:
我能獲得所需的結果重新切片l
,以除去片的第一元件(第一元件取決於對傳遞給make
方法length
參數的數目) 。
l = l[le:]
for j, k := range l{
fmt.Printf("i:%d-v:%s\n", j, k)
}
我的問題是:它是實現這一目標的正確方法,還是有擺脫未初始化的項目的更好的方式,追加過程中添加?
AFAIK,一切都在Go中初始化。你想要那些非空的'l'元素。 –
是的你是對的,我想要的元素被初始化爲「零值」...... – Nirekin
初始化長度爲1的片段在這個例子中絕對沒有好處。如果你不知道最終容量,那麼讓'append'爲你做。如果你這樣做,初始化容量,而不是長度。 – JimB