Go实战-数组array、切片slice语法详解
package main
import "fmt"
func main() {
// 定义一个长度为5的整数数组
var arr [5]int
fmt.Println("数组初始值:", arr)
// 使用初始化列表定义并初始化数组
arr1 := [5]int{10, 20, 30, 40, 50}
fmt.Println("数组arr1初始值:", arr1)
// 使用...代表数组长度由编译器自动计算
arr2 := [...]int{10, 20, 30, 40, 50}
fmt.Println("数组arr2初始值:", arr2)
// 使用指定索引定义数组元素
arr3 := [5]int{1: 10, 2: 20}
fmt.Println("数组arr3初始值:", arr3)
// 定义一个切片,切片长度和容量都为5
slice := make([]int, 5)
fmt.Println("切片初始值:", slice)
// 使用append向切片添加元素,会自动扩展切片
slice = append(slice, 1)
fmt.Println("切片添加元素后:", slice)
// 使用copy函数复制切片,src和dst类型必须相同
srcSlice := []int{1, 2, 3, 4, 5}
dstSlice := make([]int, 5, 5)
copy(dstSlice, srcSlice)
fmt.Println("切片复制后:", dstSlice)
// 使用range遍历切片
for i, v := range slice {
fmt.Printf("索引%d 对应的值为 %d\n", i, v)
}
}
这段代码展示了如何在Go语言中定义和操作数组以及切片。数组长度在定义时必须指定,而切片长度和容量可以在运行时动态改变。使用make
函数创建切片时,可以指定长度和容量,append
函数用于向切片添加元素,如果容量不足会自动扩展,copy
函数用于切片之间的元素复制,而range
在遍历切片时提供了索引和对应的值。
评论已关闭