在Golang中,数组和切片都是用来存储一系列相同类型的元素的数据结构。它们之间有一些重要的区别:
[5]int
表示包含5个整数的数组。len()
函数获取长度。以下是Golang中数组和切片的使用示例:
package main
import "fmt"
func main() {
// 数组的定义和初始化
var arr [5]int
arr[0] = 1
arr[1] = 2
fmt.Println(arr)
// 切片的定义和初始化
slice := []int{1, 2, 3, 4, 5}
fmt.Println(slice)
// 使用切片来操作底层数组
arr2 := [5]int{1, 2, 3, 4, 5}
slice2 := arr2[1:4]
fmt.Println(slice2) // [2 3 4]
// 切片的追加
slice = append(slice, 6)
fmt.Println(slice) // [1 2 3 4 5 6]
}
需要注意的是,切片在底层数组满时会扩容,这可能会导致底层数组的重新分配和拷贝。因此,在需要高性能的情况下,应该尽量避免频繁地对切片进行追加操作。