25、Go语言特性深入探索

Go语言特性深入探索

1. 切片(Slices)

在Go语言中,数组的长度是其类型的一部分,例如 [10]int 。这就带来一个问题:如何编写一个能接受任意大小整数数组的函数呢?Go引入了切片(slice)的概念来解决这个问题。切片是底层物理数组的一部分元素的范围。

1.1 切片的组成

切片包含三个部分:
1. 指向起始元素的指针。
2. 切片中元素的数量( len )。
3. 切片的容量( cap ),它由底层数组的长度推导得出,具体计算方式为底层数组的长度减去切片的起始索引加一。

1.2 切片的创建

可以通过切片字面量或内置函数 make 来创建切片。示例如下:

package main
import "fmt"

func Example() {
    // 使用切片字面量创建切片
    sliceLiteral := []int{1, 1, 2, 3, 5, 8, 13}
    fmt.Println(len(sliceLiteral), cap(sliceLiteral))

    // 使用 make 函数创建切片
    sliceMake := make([]int, 5, 8)
    fmt.Println(len(sliceMake), cap(sliceMake))
}

1.3 切片的操作

可以使用内置函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值