make 与 new 的区别,正确的是?

Go

  1. A.make 初始化 slice/map/channel 返回类型本身;new 分配零值返回指针
  2. B.new 只能用于结构体类型的堆分配,make 则用于其余所有内置与自定义类型的分配与零值初始化
  3. C.两者完全等价,只是历史遗留的两个名字
  4. D.make 返回指向底层数据结构的指针,new 则直接返回已初始化好的值本身而不是指针