前言
对于切片的知识有些薄弱,今天复习了一遍。整理为改篇博客
一、什么是切片 ?
1.个人理解,切片就是动态的数组。官方上面说,切片实现的原理就是在数组底层做了一层封装。
2.需要注意的是,切片和数组不同,切片是引用类型
二、声明切片
var x [] int
a := [] int
三、切片赋值
1.基于数组或者切片
d1 := [3]int{4,5,6}
d2 := d1[0:2]
注意:这里的截取是左闭右开 ( [ x,y))
2.使用append()方法
var s [] int
s = append(s,1)
四、如何判断一个切片是否为空
这里需要注意一下,使用 len(s) == 0来判断
因为,nil底层是没有开辟空间的,len和cap都为0,但是当len=0,cap=0的时候,切片并不一定是空的。
例如:
var a = []int{}
var b = make([]int,0,0)
五、总结
今天晚上大致就看了这么多内容,用这篇博客梳理一下。如果错误,欢迎指正。