在某些情况下,如果提前能预估切片容量,那最好提前在make时就分配好容量,避免后续go底层的再次扩容,在一定程度上能提升代码执行效率。但有时容易写错,示例如下:
import (
"fmt"
)
func main() {
sli := make([]int, 0, 1025)
// sli := make([]int, 1025) // 错误写法:这不是预分配容量cap,而是预分配大小size
fmt.Println(sli)
return
}
在某些情况下,如果提前能预估切片容量,那最好提前在make时就分配好容量,避免后续go底层的再次扩容,在一定程度上能提升代码执行效率。但有时容易写错,示例如下:
import (
"fmt"
)
func main() {
sli := make([]int, 0, 1025)
// sli := make([]int, 1025) // 错误写法:这不是预分配容量cap,而是预分配大小size
fmt.Println(sli)
return
}