44
A
回答
46
除了fabriziom的answer,可以看到在‘Go Slices: usage and internals’,其中被提及[]int
一個使用例子:
由於切片(
nil
)的零值的作用就像一個零長度片,你可以聲明切片變量,然後追加到它在一個循環:
// Filter returns a new slice holding only
// the elements of s that satisfy f()
func Filter(s []int, fn func(int) bool) []int {
var p []int // == nil
for _, v := range s {
if fn(v) {
p = append(p, v)
}
}
return p
}
據我回答:爲了追加到一個分片,您不必先分配內存:nil
分片p int[]
就足以作爲要添加到的分片。
+0
謝謝!這是我需要的。 – 2014-08-28 09:56:40
55
簡單聲明
var s []int
不分配存儲器和s
點nil
,而
s := make([]int, 0)
分配內存和s
指向的內存與0個元素的切片。
通常情況下,如果您不知道用例的確切大小,則第一個更習慣。
相關問題
- 1. CSS透明切片
- 2. 如何繪製Java 3D切片形狀或切片
- 3. 重新切片切片Golang
- 4. 追加切片切片
- 5. 填充texture3d切片明智
- 6. Python切片操作
- 7. 將圖像或照片切成片
- 8. 加速切片客戶的切片mysql
- 9. 如何遍歷切片映射切片?
- 10. 表示連接切片的切片
- 11. 切片使用指針切片
- 12. 在切片中組塊切片
- 13. 切片鑑別器 - 按位置切片
- 14. 創建無切片的切片
- 15. 追加值到切片的切片
- 16. 使用協調的切片/切片UiImage
- 17. Angular ngOptions切片或橢圓
- 18. jquery添加或切片
- 19. 加入或推入切片
- 20. 切片字符串和製作ID
- 21. 如何複製&[u8]切片?
- 22. Golang多維切片複製
- 23. VBA切片複製方法
- 24. SSRS-MDX切片機(傳遞大的字符串作爲切片)
- 25. 切片/切塊UI文件
- 26. 切片和界面操作
- 27. 傳遞切片作爲IntoIterator
- 28. 切片VS指向作家
- 29. 字符切片
- 30. Bootstrap Modal切片
第一個創建一個「無」切片,而第二個創建一個「空」切片(這是*「Go in action book」使用的術語*)。爲了避免在這裏發佈相同的答案,您可以查看https://stackoverflow.com/a/45997533/1561148 – tgogos 2017-09-01 10:30:27