美文网首页
Go的内建函数new和make

Go的内建函数new和make

作者: xuanxiao | 来源:发表于2019-10-24 19:54 被阅读0次

    new函数

    返回T类型的指针
    new(T)创建无类型限制
    new(T)会向内存申请一块内存空间,并按照T类型进行零值填充,最后返回T类型对应零值在内存空间中的地址。

    make函数

    返回T类型
    make(T, args)只能创建slicemapchannel
    slicemapchannel这三种类型在使用之前必须初始化,未初始化的时候都是nil,除了slice外是没法直接使用的(slice通过append()可以添加值,进行正常使用,但是append()函数本质也是重新初始化了一个slice)。以slice为例,slice包含:一直指向数据(内部是一个array)的指针,长度和容量,在未初始化的时候,slice为nil,以上这些都不存在,无法获取。make就是将这些填充了适当的值,进行了初始化

    相关文章

      网友评论

          本文标题:Go的内建函数new和make

          本文链接:https://www.haomeiwen.com/subject/vvkdvctx.html