发布于:,更新于:

Go面试题

1.make和new的区别?

new

内置函数new 只接受一个参数,该参数是一个类型而不是值,返回值是该类型新分配为零值的指针。

1
2
3
4
// The new built-in function allocates memory. The first argument is a type,
// not a value, and the value returned is a pointer to a newly
// allocated zero value of that type.
func new(Type) *Type

make

内置函数make 只能初始化map、slice、channel类型,与new 一样第一个参数是类型,与new 不同,返回值类型与参数类型一致,而不是该类型的指针。

  • slice: 第一个参数为切片类型,第二个参数为切片初始化长度,第三个可选参数为切片的容量不能小于初始化长度。
  • map: 第一个参数为



本站由 [PengBin](/) 使用 [Stellar 1.26.3](https://github.com/xaoxuu/hexo-theme-stellar/tree/1.26.3) 主题创建。 本博客所有文章除特别声明外,均采用 [CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/) 许可协议,转载请注明出处。