本
文
摘
要
Golang 中有两种常见的数据结构:数组和切片。
数组
数组是一个固定长度的序列,可以保存多个相同类型的元素。它的定义语法如下:
var 数组名 [长度]数据类型初始化数组的语法如下:
arrayName := [arrayLength]elementType{element1, element2, ..., elementN}数组的遍历可以使用 for 循环,如下:
for i := 0; i < len(arrayName); i++ { // Access array elements using arrayName[i] }数组的长度是数组的固定属性,它在定义数组时需要明确指定,一旦指定后不能修改。
数组可以使用下标访问,下标从0开始,到长度-1为止,例如:
earr := [3]int{1, 2, 3} fmt.Println(arr[0]) // 输出1 fmt.Println(arr[1]) // 输出2 fmt.Println(arr[2]) // 输出3切片
Golang中的切片是一种动态长度的数据结构,它是对数组的一个引用。切片通过数组的某一部分创建,并且可以随着数据的增加而增长。Golang中定义切片的方式为:
var 切片名 []数据类型初始化切片的语法如下:
sliceName := []elementType{element1, element2, ..., elementN}切片可以通过make函数创建,例如:
slc := make([]int, 5, 10) fmt.Println(len(slc)) // 输出5 fmt.Println(cap(slc)) // 输出10切片可以通过数组创建,例如:
arr := [5]int{1, 2, 3, 4, 5} slc := arr[1:3] fmt.Println(slc) // 输出[2, 3]切片可以使用下标访问,下标从0开始,到长度-1为止,例如:
slc := []int{1, 2, 3} fmt.Println(slc[0]) // 输出1 fmt.Println(slc[1]) // 输出2 fmt.Println(slc[2]) // 输出3切片可以通过append函数动态增加长度,例如:
slc := []int{1, 2, 3} slc = append(slc, 4, 5) fmt.Println(slc) // 输出[1, 2, 3, 4, 5]切片可以通过copy函数复制,例如:
slc1 := []int{1, 2, 3} slc2 := []int{4, 5, 6} copy(slc1, slc2)切片的遍历可以使用 for 循环,如下:
for i, element := range sliceName { // Access slice elements using sliceName[i] and element }切片的操作包括创建切片,访问切片,切片的扩展和删除等。例如:
// Create a slice from an array originalArray := [5]int{1, 2, 3, 4, 5} newSlice := originalArray[1:3] // Extend a slice newSlice = append(newSlice, 6) // Delete an element from a slice newSlice = append(newSlice[:2], newSlice[3:]...)数组和切片都是 Golang 中常用的数据结构,在开发中需要灵活运用。
更多golang数据结构与算法(golang切片排序)相关信息请关注本站,本文仅仅做为展示!