【发布时间】:2021-11-25 13:43:00
【问题描述】:
我正在学习 golang,同时使用以下代码练习 slice:
package main
import "fmt"
func main() {
var count int
var subject string
subjects := make([]string, 0)
fmt.Print("Enter total number of subjects:")
fmt.Scan(&count)
for count != 0 {
fmt.Print("\n\nEnter subject name: ")
fmt.Scan(&subject)
subjects = append(subjects, subject)
fmt.Printf("\nlen=%d \ncap=%d \n%v\n", len(subjects), cap(subjects), subjects)
count--
}
}
结果如下,我得到:
输入学科名称:物理
len=4 cap=4 [印地语英语数学物理]
输入主题名称:地理
len=5 cap=8 [印地语英语数学物理地理]
为什么5号产能翻倍,如何按顺序增加产能
【问题讨论】:
-
“如何按顺序增加容量” -- 什么是“正确顺序”?上限根据增长算法的实现方式而增加,您可以在 Go 源码中查找它,它是开放的。