Go语言之重要数组类型切片(slice)make,append函数
发布人:shili8
发布时间:2024-12-28 12:41
阅读次数:0
**Go语言之重要数组类型切片 (Slice)**在 Go语言中,切片是最常用的数据结构之一。它是一种动态大小的、可增长的数组类型,可以用来存储多个元素。切片使用 `make` 函数创建,并使用 `append` 函数添加新元素。
**什么是切片?**
切片是一种引用类型,它指向一个底层数组。切片本身并不存储任何数据,而是存储了一个指向底层数组的指针,以及切片中元素的数量和容量(即底层数组的大小)。
**创建切片**
要创建一个切片,我们可以使用 `make` 函数:
gopackage mainimport "fmt" func main() { // 创建一个长度为5 的切片,初始容量为0 s := make([]int,5) fmt.Println(s) // [00000] }
在这个例子中,我们使用 `make` 函数创建了一个长度为5 的切片,初始容量为0。切片中的元素都是默认值0。
**追加新元素**
要添加新元素到切片中,我们可以使用 `append` 函数:
gopackage mainimport "fmt" func main() { // 创建一个长度为5 的切片,初始容量为0 s := make([]int,5) // 追加新元素到切片中 s = append(s,1) s = append(s,2) s = append(s,3) fmt.Println(s) // [00000123] }
在这个例子中,我们使用 `append` 函数追加了三个新元素到切片中。切片的长度和容量都增加了。
**切片的长度和容量**
切片有两个重要属性:长度(Length)和容量(Capacity)。长度是切片中元素的数量,容量是底层数组的大小。
gopackage mainimport "fmt" func main() { // 创建一个长度为5 的切片,初始容量为0 s := make([]int,5) fmt.Println(len(s)) //5 fmt.Println(cap(s)) //5 // 追加新元素到切片中 s = append(s,1) s = append(s,2) s = append(s,3) fmt.Println(len(s)) //8 fmt.Println(cap(s)) //10}
在这个例子中,我们可以看到切片的长度和容量都随着追加新元素而增加。
**切片的使用**
切片是 Go语言中最常用的数据结构之一。它可以用来存储多个元素,动态大小,可以增长。
gopackage mainimport "fmt" func main() { // 创建一个长度为5 的切片,初始容量为0 s := make([]int,5) // 追加新元素到切片中 for i :=0; i < 10; i++ { s = append(s, i) } fmt.Println(s) // [0123456789] }
在这个例子中,我们使用切片来存储从0 到9 的数字。
**总结**
切片是 Go语言中最常用的数据结构之一。它是一种动态大小的、可增长的数组类型,可以用来存储多个元素。切片使用 `make` 函数创建,并使用 `append` 函数添加新元素。切片有两个重要属性:长度(Length)和容量(Capacity)。切片是 Go语言中最常用的数据结构之一,广泛应用于各种场景。
**参考**
* [Go语言之数组]( />* [Go语言之切片](