亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

Golang中new和make有什么區別

小億
85
2024-01-30 12:30:47
欄目: 編程語言

在Golang中,newmake 是兩個用于分配內存的內建函數。

  1. new 函數:

    • new 函數用于分配并初始化一個值的指針,返回指針。
    • new 函數的參數是一個類型,并返回該類型的指針。
    • 分配的內存被置零,也就是每個位都被設置為零值。
    • new 函數返回的是指向新分配的零值的指針。

    示例:

    var p *int
    p = new(int)
    *p = 42
    fmt.Println(*p) // 輸出: 42
    
  2. make 函數:

    • make 函數用于創建內置引用類型(如 slicemapchannel)的對象。
    • make 函數的參數是一個類型和一個長度(可選,不適用于 channel)。
    • make 函數返回該類型的初始化的非零值。

    示例:

    var s []int
    s = make([]int, 5, 10)
    s[0] = 1
    fmt.Println(s) // 輸出: [1 0 0 0 0]
    

綜上所述,new 函數返回的是指向零值的指針,而 make 函數返回的是初始化的非零值。

0
沈丘县| 章丘市| 丽江市| 嘉荫县| 阿拉尔市| 屯门区| 河西区| 马边| 夹江县| 汉川市| 南通市| 武邑县| 天等县| 望都县| 崇左市| 仪征市| 德阳市| 桃园市| 天台县| 绥阳县| 新乐市| 连城县| 广水市| 喀什市| 凤翔县| 阜康市| 崇信县| 平凉市| 疏附县| 金阳县| 文昌市| 封丘县| 苏尼特右旗| 胶南市| 开封县| 山东省| 辉南县| 通化市| 特克斯县| 邯郸县| 土默特右旗|