91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
岳阳市| 杭州市| 平定县| 老河口市| 菏泽市| 北票市| 乐亭县| 新晃| 油尖旺区| 阜城县| 偃师市| 湾仔区| 宁都县| 公主岭市| 丁青县| 博乐市| 新昌县| 蒲城县| 邮箱| 湖州市| 城步| 哈巴河县| 高要市| 兴仁县| 岳池县| 图片| 酉阳| 大英县| 沁阳市| 浮山县| 砚山县| 珠海市| 黑龙江省| 舟曲县| 监利县| 龙泉市| 治多县| 茂名市| 吴忠市| 平阴县| 丰宁|