初级问题

1、Golang make和new的区别

make new
返回值 返回对应的引用类型 分配零值填充的T类型,并返回指针
只有make能做的操作:
  • 创建一个chan
  • 创建内存预分配的map
  • 创建内存预分配的slice,且slice的len可以不等于cap.

2、数组和切片的区别

  • 定义方式不一样
  • 初始化方法不一样
    数组需要指定大小,不可改变,切片不需要指定大小。
  • 函数传递方式不同
    数组是值传递,而切片是地址传递。

你可能感兴趣的:(初级问题)