<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      go語言中make和new有什么作用以及區(qū)別?

      在Go語言中,makenew 是兩個內(nèi)置的函數(shù)(built-in functions),用于分配內(nèi)存,但它們之間有顯著的區(qū)別,主要體現(xiàn)在它們被用于不同類型的對象分配內(nèi)存。

      new

      new關(guān)鍵字用于分配內(nèi)存。更確切地說,它分配了零值初始化的內(nèi)存空間,并返回指向這個新分配類型的指針。它只用于內(nèi)建的數(shù)據(jù)類型(如int、float64、struct等),或者任何類型的指針、切片、映射、通道、函數(shù)等類型。但是,new 不會為切片、映射或通道初始化內(nèi)部數(shù)據(jù)結(jié)構(gòu),只會分配一個指向這些類型的零值的指針。

      new 函數(shù)接受一個類型 Type 作為參數(shù),并返回一個指向該類型新分配零值的指針 *Type。

      語法如下:

      # 完整語法
      var ptr *Type = new(Type)
      
      # 簡寫
      ptr := new(Type)
      

      這里的 Type 是一個類型, 變量 ptr 是一個指向該類型零值內(nèi)存地址的指針。

      實際編程中,通常我們會采用簡寫形式。

      舉個栗子??,如下所示:

      var ptr *int = new(int)
      // 現(xiàn)在 ptr 指向一個 int 類型的零值0
      *ptr = 2
      fmt.Println(*ptr) // 輸出: 2
      

      也可以簡寫成

      ptr := new(int)
      // 現(xiàn)在 ptr 指向一個 int 類型的零值0
      *ptr = 2
      fmt.Println(*ptr) // 輸出: 2
      

      make

      make 函數(shù)用于初始化內(nèi)置的數(shù)據(jù)結(jié)構(gòu)類型:切片(slice)、映射(map)和通道(channel)。它不僅分配了內(nèi)存,還返回了初始化(非零)后的(內(nèi)建的)值。

      例如,對于切片,它返回了一個長度和容量都已初始化的切片;對于映射,它返回了一個空的映射(準備好接受鍵值對);

      對于通道,它返回了一個可以進行通信的通道。

      如下所示

      slice := make([]Type, len, cap)  
      
      map := make(map[KeyType]ValueType)  
      
      channel := make(chan Type, capacity)
      
      • []Type 表示切片的元素類型。
      • len 是切片的長度。
      • cap 是切片的容量(可選,默認為長度)。
      • KeyType 是映射的鍵的類型。
      • ValueType 是映射的值的類型。
      • Type 是通道中元素的類型。
      • capacity 是通道的容量(可選,對于無緩沖通道,容量為0)。

      區(qū)別

      • 用途:new 用于分配任意類型的內(nèi)存空間,并返回指向該空間的指針,它不會初始化內(nèi)存;make 用于初始化切片、映射、通道等內(nèi)建的數(shù)據(jù)結(jié)構(gòu)類型。
      • 返回值:new 返回的是一個指向類型的指針;make 返回的是初始化后的(內(nèi)建的)值,比如切片、映射或通道。
      • 零值:new 分配的類型被零值初始化;make 初始化的切片、映射和通道則不是零值,它們有特定的初始狀態(tài)(比如,切片的長度和容量,空的映射,可以通信的通道)。
      • 適用類型:new 適用于所有類型;make 只適用于切片、映射和通道。
      posted @ 2024-08-15 05:23  taadis  閱讀(98)  評論(0)    收藏  舉報
      掃碼關(guān)注

      掃碼關(guān)注我

      主站蜘蛛池模板: 日韩视频一区二区三区视频| 成人免费AV一区二区三区| 欧美成人精精品一区二区三区| 亚洲天堂成人网在线观看| 国产精品先锋资源在线看| 久久久久人妻一区精品色| 高清中文字幕国产精品| 无码人妻精品一区二区三区下载 | 国产精品乱码久久久久久小说| 综合激情亚洲丁香社区| 亚洲熟女精品一区二区| av午夜福利一片免费看久久| 久久香蕉国产线看观看怡红院妓院| 久久精品国产蜜臀av| 亚洲区综合区小说区激情区| 成 人免费va视频| 国产午夜福利视频在线| 亚洲高清国产拍精品熟女| 夜色福利站WWW国产在线视频| 国产女人18毛片水真多1| 日韩精品久久一区二区三| 永久天堂网 av手机版| 爆乳喷奶水无码正在播放| 不卡乱辈伦在线看中文字幕 | 亚洲精品一区| 久久亚洲美女精品国产精品| 久久综合亚洲色一区二区三区| 德化县| 秋霞电影院午夜无码免费视频| 欧美成人精品高清在线播放| 国产成人精品亚洲午夜麻豆| 无码精品国产va在线观看dvd | 亚洲国产成人无码av在线播放| 人妻少妇看a偷人无码| 2020年最新国产精品正在播放| 国产三级国产精品久久成人| 国产成人精品三级麻豆| 在线永久看片免费的视频| 青草国产超碰人人添人人碱| 国产精品大全中文字幕| 国产在线一区二区在线视频|