Go 语言切片(Slice) 15

在 Go 语言中,切片(Slice)是一种可以容纳多个值的数据结构,它可以被视为一个可变的数组。切片是一个引用类型,它可以容纳任意类型的值,可以是整数、字符串、浮点数、结构体等。

切片的声明方式是使用 [] 语法,例如:[]int 或 []string。切片可以在运行时被创建和修改,可以是空的,也可以包含多个值。

声明和初始化

可以使用以下方式声明和初始化切片:

var s []int

这将声明一个名为 s 的空切片,可以容纳整数值。

也可以使用字面量初始化切片:

s := []int{1, 2, 3, 4, 5}

这将声明一个名为 s 的切片,包含整数值 1 到 5

还可以使用 make 函数初始化切片:

s := make([]int, 5)

这将声明一个名为 s 的切片,容纳整数值,初始大小为 5

访问和修改

可以使用索引访问切片中的值,例如:

s := []int{1, 2, 3, 4, 5}
fmt.Println(s[0]) //输出 1
fmt.Println(s[4]) //输出 5

也可以使用索引修改切片中的值,例如:

s := []int{1, 2, 3, 4, 5}
s[0] = 10
fmt.Println(s) //输出 [10 2 3 4 5]

切片的长度和容量

切片的长度是指切片中实际包含的值的数量,可以使用 len 函数获取:

s := []int{1, 2, 3, 4, 5}
fmt.Println(len(s)) //输出 5

切片的容量是指切片的内存大小,可以使用 cap 函数获取:

s := []int{1, 2, 3, 4, 5}
fmt.Println(cap(s)) //输出 5

切片的 append 操作

可以使用 append 函数将值添加到切片中:

s := []int{1, 2, 3, 4, 5}
s = append(s, 6, 7, 8)
fmt.Println(s) //输出 [1 2 3 4 5 6 7 8]

切片的 copy 操作

可以使用 copy 函数将切片中的值复制到另一个切片中:

s1 := []int{1, 2, 3, 4, 5}
s2 := make([]int, len(s1))
copy(s2, s1)
fmt.Println(s2) //输出 [1 2 3 4 5]

切片的 sort 操作

可以使用 sort 函数对切片中的值进行排序:

s := []int{4, 2, 1, 3, 5}
sort.Ints(s)
fmt.Println(s) //输出 [1 2 3 4 5]

切片的 reverse 操作

可以使用 reverse 函数对切片中的值进行反转:

s := []int{1, 2, 3, 4, 5}
reverse(s)
fmt.Println(s) //输出 [5 4 3 2 1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值