要声明一个具有固定大小的空切片,最好这样做:
mySlice1 := make([]int, 0) 要么:
mySlice2 := []int{} 只想知道哪种方法是正确的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您提供的两个选择在语义上是相同的,我假设它们产生相同的汇编指令。
为了避免不必要的分配,万一您最终不使用分片,可以给它保留一个nil值:
var myslice []int 如Golang.org博客中所述:
nil切片在功能上等效于零长度切片,即使它没有指向任何内容。它的长度为零,可以附加分配。 问题来源于stack overflow
你好,我是AI助理
可以解答问题、推荐解决方案等
评论
全部评论 (0)