目录
2. 直接创建 (直接创建切片, 会在内存中创建一个底层数组, 切片就是对底层数组的引用, 语法糖)
什么是切片
切片就是底层数组的一部分, 修改切片底层数组也会相应改变, 共享一个底层数据的不同切片都会更改, 而且切片的长度灵活多变, 切片是golang中复杂数据类型的一种, 具有长度和容量,分别通过len()和cap()来获取
创建切片
创建切片有三种方式, 一种通过底层数据创建, 一种直接创建切片, 一种是通过make函数
1. 通过底层数组 (需要指定上界下界)
- 切片的上下界有默认值, 上界为0 , 下界为数组或切片的长度
package main
import (
"fmt"
)
func main() {
array := [5]int{1,2,3,4,5}
slice := array[1:4]
fmt.Printf("array值%v\n", array)
fmt.Printf("slice值%v\n", slice)
}
2. 直接创建 (直接创建切片, 会在内存中创建一个底层数组, 切片就是对底层数组的引用, 语法糖)
package main
import (
"fmt"
)
func main() {
slice := []int{1,2,3}
var slice2 []int = []int{1,2,3,4}
var slice3 = []int{1,2,3,4,5}
fmt.Printf("切片的值是 %v, 类型是 %T\n",slice, slice)
fmt.Printf("切片的值是 %v, 类型是 %T\n",slice2, slice2)
fmt.Printf("切片的值是 %v, 类型是 %T",slice3, slice3)
}
3. 通过make函数创建
用make函数创建切片, 需要三个参数, 类型, 长度, 容量, 创建出来的切片成员默认都是零值, 容量可以不传, 不传默认就是长度的值, 但是长度必传
package main
import (
"fmt"
)
func main() {
slice :&