【golang】nil切片和空切片的区别

1.什么是空切片

空切片就是长度为0的切片

例如:

var s []int
s1 := make([]int,0)

2.什么是nil切片

nil切片简单来说就是切片的零值。

【golang】nil切片和空切片的区别_第1张图片
输出:
在这里插入图片描述

3.区别:

1.首先我们要知道切片是有以下3部分组成
【golang】nil切片和空切片的区别_第2张图片

nil切片:

指针并不指向底层的数组,而是指向一个没有实际意义的地址
len = 0 且 cap = 0

空切片

指针指向底层数组的地址
len=0,容量有指向的底层数组决定
【golang】nil切片和空切片的区别_第3张图片

总结

nil切片和空切片的区别主要在于指向的地址不同。

你可能感兴趣的:(golang,算法,golang,开发语言)