溫馨提示×

go語言new和make有什么區別

小億
106
2024-02-18 17:07:20
欄目: 編程語言

在Go語言中,newmake都是用來分配內存的關鍵字,但它們的用法和作用對象不同。

  1. new關鍵字用來分配內存,并返回內存地址,主要用來分配值類型(如int、string、struct等)的內存。使用new分配的內存會被初始化為零值。
// 使用new分配整型變量的內存
var i *int
i = new(int)
  1. make關鍵字用來分配并初始化引用類型(如slice、map、chan等)的內存,返回的是該類型的引用。使用make分配的內存會被初始化為類型的零值。
// 使用make分配切片的內存
s := make([]int, 0, 10)

總結來說,new用于值類型的內存分配,make用于引用類型的內存分配。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女