开发者社区 问答 正文

初始化空切片的正确方法

要声明一个具有固定大小的空切片,最好这样做:

mySlice1 := make([]int, 0) 要么:

mySlice2 := []int{} 只想知道哪种方法是正确的。

展开
收起
保持可爱mmm 2020-01-16 17:02:04 281 分享
分享
版权
举报
1 条回答
写回答
取消 提交回答
  • 您提供的两个选择在语义上是相同的,我假设它们产生相同的汇编指令。

    为了避免不必要的分配,万一您最终不使用分片,可以给它保留一个nil值:

    var myslice []int 如Golang.org博客中所述:

    nil切片在功能上等效于零长度切片,即使它没有指向任何内容。它的长度为零,可以附加分配。 问题来源于stack overflow

    2020-01-16 17:02:19 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
问答地址:
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等