以下有什么区别?cards := deck{}cards := make(deck, 52)cards := make(deck, 0, 52)其中,deck 是表示卡片的字符串数组type deck []string。现在,我面临的问题是,当我print()使用 在一副纸牌上运行以下功能时cards:= make(deck, 52),我看到它在打印纸牌之前打印了 52 条空行但是,当使用1或3从上方打印时,它完全可以正常打印只有一副牌的 52 张牌。func (d deck) print() { for _, card := range d { fmt.Println(fmt.Sprintf(`%s`, card)) }}我不明白,我错过了什么吗?谢谢!
1 回答
动漫人物
TA贡献1815条经验 获得超10个赞
cards := deck{}
这将创建一个空甲板。
cards:= make(deck, 52)
这将创建一个包含 52 个空元素的牌组
cards:= make(deck, 0, 52)
这将创建一个容量为 52 的空甲板。也就是说,您可以cards
在需要新分配之前追加到 52 个项目。
- 1 回答
- 0 关注
- 112 浏览
添加回答
举报
0/150
提交
取消