Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解释一下golang制造的幕后故事?_Go - Fatal编程技术网

解释一下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是一个字符串数组,表示卡片
    类型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项附加到
    卡上。

    并且您缺少切片大小和容量之间的区别。