解释一下golang制造的幕后故事?
以下两者之间的区别是什么解释一下golang制造的幕后故事?,go,Go,以下两者之间的区别是什么 卡片:=卡片组{} 卡片:=制作(卡片组,52) 卡片:=制作(卡片组,0,52) 其中,deck是一个字符串数组,表示卡片类型deck[]string 现在,我面临的问题是,当我使用cards在一组卡片上运行以下print()函数时:=make(deck,52),我看到它在打印卡片组中的卡片之前打印52行空行,当从上面使用1或3时,它可以完全精细地打印卡片组中的52张卡片 func (d deck) print() { for _, card := rang
卡片:=卡片组{}
卡片:=制作(卡片组,52)
卡片:=制作(卡片组,0,52)
类型deck[]string
现在,我面临的问题是,当我使用cards在一组卡片上运行以下print()
函数时:=make(deck,52)
,我看到它在打印卡片组中的卡片之前打印52行空行,当从上面使用1
或3
时,它可以完全精细地打印卡片组中的52张卡片
func (d deck) print() {
for _, card := range d {
fmt.Println(fmt.Sprintf(`%s`, card))
}
}
我不明白,我遗漏了什么吗?谢谢
cards:=牌组{}
这将创建一个空牌组
卡片:=make(卡片组,52)
这将创建一个包含52个空元素的卡片组
cards:=make(牌组,0,52)
这将创建一个容量为52的空牌组。也就是说,在需要新的分配之前,您可以将52项附加到卡上。并且您缺少切片大小和容量之间的区别。