make([] int,0),[] int {}和* new([] int)之间有什么区别?

yefim:

根据https://play.golang.org/p/7RPExbwOEU,它们均打印相同且具有相同的长度和容量。初始化切片的三种方式之间有区别吗?有没有首选的方法?我发现自己同时使用make([]int, 0),并[]int{}具有相同的频率。

吉姆:

这将初始化一个长度为0的切片。

make([]int, 0)

使用make是初始化具有不同于长度的特定容量的切片的唯一方法。这将分配一个长度为0但容量为1024的切片。

make([]int, 0, 1024)

这是切片文字,它也会初始化长度为0的切片。使用此或make([]int, 0)仅是首选项。

[]int{}

这将初始化指向切片指针,该切片将立即取消引用。slice本身尚未初始化,仍然为nil,因此这实际上什么也不做,等效于[]int(nil)

*new([]int)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

new int [0]和new int [] {}之间有什么区别

“ int * a = new int”和“ int * a = new int [5]”之间有什么区别?

'new()'int和'int * p'有什么区别

((int)a)和(int(a))之间有什么区别?

int * a和int * a = new int之间的区别

int var []和int var [0]有什么区别

[1] int {}和[] int {0}有什么区别

int{10} 和 10 之间有什么区别?

c++ 中的“int a, b =0”和“int a =0; int b = 0”有什么区别?

`var a chan int`和`a:= make(chan int)`有什么区别?

int和new int()之间的区别

.astype(“ int”)或.astype(int)?有和没有引号/双引号之间有什么区别?

Int和Integer有什么区别?

“ eval”和“ int”有什么区别

“ vector <int> v []”和“ vector <vector <int >> v”之间有什么区别?

enum:int和enum:const int之间有什么区别

unsigned short int和unsigned int或unsigned short之间有什么区别?

命令“ wc`grep -l int *`”和“ grep -l int * | wc”之间有什么区别?

int * p和int p *有什么区别?

class(val a:Int)和class(a:Int)有什么区别?

'x:()=> Int'和'x:=> Int'有什么区别

go中的[] int {}和[] int有什么区别?

int $ number和int $ number = null有什么区别?

`int * [1]`和`int(*)[1]`有什么区别?

在Swift中,`Int ...`和`[Int]`有什么区别?

C中int和(int)有什么区别?

int [] []和int **(noobie)有什么区别

int 0x21 和 int 0x80 有什么区别?

“ vector <pair <int,int >> q;”和有什么区别?和“ vector <pair <int,int>> q;”