new

  • 不会初始化内存
  • 分配零值内存空间
  1. s := new(string) // reture *string and set value ""
  2. fmt.Printf("s value is %s",*s)

make

  • 初始化数据结构引用
  • 可以分配长度和容量
  • 仅可用于slice、map、channel,初始化内部数据结构并准备值以供使用
  1. slice := make([]string,2,100) // resturn ["",""] and set cap value equal 100
  2. fmt.Printf("slice value is %v , cap is %d",slice,cap(slice))