zoukankan      html  css  js  c++  java
  • Go make和new的区别



    //切片申请内存
    s1 := make([]int, 5, 10) 
    //map申请内存
    m1 = make(map[string]int, 10)
    //指针申请内存
    var a = new(int) //a为0x342112910


    make
    make也是用于内存分配的,区别于new,它只用于slice、map、chan的内存创建
    而且它返回的类型就是这三个类型本身,而不是他们的指针类型
    因为这三种类型就是引用类型,所以就没有必要返回他们的指针了

    make和new的区别

    • 1.make和new都是用来申请内存的
    • 2.new很少用,一般用来给基本数据类型申请内存,string、int等,返回的是对应类型的指针*string、*int
    • 3.make用于给slice、map、chan申请内存,make函数的返回的是这三个类型本身
  • 相关阅读:
    将博客搬至CSDN
    defender 月考总结
    生日祝福@陈俊翰
    个性签名
    你这是virus吧?
    (CPSCA's)CPOJC+VIJOS
    Sentence by defender
    工作制一览
    最长上升子序列
    mysql约束
  • 原文地址:https://www.cnblogs.com/staff/p/13220861.html
Copyright © 2011-2022 走看看