切片是什么?

切片是Go语言的一种数据结构。 

和数组相似,不过切片可以在它的结尾增加更多的元素。这样可变长度在实际编程中更为有用。

 

声明切片

切片的声明和数组也很相似,只是声明切片时不需要指定大小。

例:

var myArray [5] int  //声明一个数组,需要指定大小

var mySlice [] int //声明一个切片,不需要指定大小

 

创建切片

声明的切片变量并未创建出来,需要使用内置的make函数创建一个切片对象。

例:

var mySlice [] int

mySlice = make([]int, 5) //创建一个存放5个int的切片。

分两步写太麻烦了,还是使用短变量的声明方式更便捷一点。

mySlcie := make([]int,5 )

 

访问切片

访问切片和数组一样也是用[]和下标,但是切片可以使用:和多个下标获得一个范围的元素。

例:

slice[n] //访问下标为n的元素。

slice[start : end] //访问下标start到end前一个元素。

slice[:] //访问切片的0到最后一个元素。省略冒号前的下标表示从0开始,省略冒号后的下标表示到最后一个元素。

 

追加元素

开始的时候就说切片可以追加元素,那么如何追加元素呢?需要使用内置函数append。

例:

append后第一个参数传入切片,后面传入n个元素,返回一个切片。从例子中可以看到slice并没有改变,

所以如果需要在切片后增加元素应该把append返回的结果再赋给切片本身。slice = append(slice,7,6)

 

特别说明:

若后续发现文章中的错误或者对文章内容补充将只在我的博客中进行更新。

我的博客主要记录编程中学到的知识、踩过的坑以及一些莫名其妙的想法。

欢迎来踩我的独立博客: fearlazy。