初级会员
  • 第 42335 位会员
  • thinkgos
  • jiang
  • 2019-09-02 09:10:03
  • Offline
  • 20 98

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • #4 @jiuker 用new的场合极少,目前暂时没遇到过. 当然,有的面试会问这个区别的.区别涉及一些底层原理. 用make有时的确需要申明最大空间或预留容量.实际工程我就用过.因为我非常清楚需求多大空间来避免多次扩容带来的性能损失. 像slice每次扩容在小于1024都是2倍扩容,一扩容就要引起数据拷贝.
  • 一梭到底说明你对new和make的区别并不了解, 比如: ``` new([]int),make([]int,0),[]int{},*[]int{}, new(map[int]string),make(map[int]string),map[int]string{},*map[int]string, ``` 是有区别又有关系的,不同场合需要不同的使用. 不过实际,map比较少那么用,而slice是有场合使用的
  • 请把builder的grow移到循环内. 不然这结论就是误人子弟.
  • 这join和build根本就不是对等测试. 先说join,底层就是Builder,拼接时grow到相应的尺寸. 而你的builder测试,看似开始直接grow到相应的尺寸. 但是你最后reset,下一次开始的grow就直接无效了. 看下底层实现.
  • 这样看来题目就有二义性, 这题目一听都认为是深拷贝. 浅拷贝讨论起来没啥意义.