Go:内置 make - 容量是否有所不同
Go: builtin make - does the capacity make a difference
考虑用 5
个元素动态填充 array/slice。不多也不少。
(1) 初始长度为0的切片
sl := []string{}
for i := 0; i < 5; i++ {
sl = append(sl, "abc")
}
(2) 设置初始长度的切片,无容量
sl := make([]string, 5)
for i := 0; i < 5; i++ {
s1[i] = "abc"
}
(3) 设置初始长度的切片,给定容量
sl := make([]string, 5, 5)
for i := 0; i < 5; i++ {
sl[i] = "abc"
}
我的感觉告诉我,#1 不是 最佳 解决方案,但我想知道为什么我会选择 #2 而不是 #3,反之亦然? (性能方面)
考虑用 5
个元素动态填充 array/slice。不多也不少。
(1) 初始长度为0的切片
sl := []string{}
for i := 0; i < 5; i++ {
sl = append(sl, "abc")
}
(2) 设置初始长度的切片,无容量
sl := make([]string, 5)
for i := 0; i < 5; i++ {
s1[i] = "abc"
}
(3) 设置初始长度的切片,给定容量
sl := make([]string, 5, 5)
for i := 0; i < 5; i++ {
sl[i] = "abc"
}
我的感觉告诉我,#1 不是 最佳 解决方案,但我想知道为什么我会选择 #2 而不是 #3,反之亦然? (性能方面)