如何在 Golang 中获取数组或切片的大小?
如果我们想获取数组或切片的大小,我们可以使用len()Go 提供的内置函数。
示例 1
让我们首先探讨如何对数组使用len函数。考虑下面显示的代码。
package mainimport (
"fmt"
)
func main() {
fmt.Println("Inside the main function")
arr := [3]int{1,2,3}
fmt.Println("数组的长度为:", len(arr))
}
在上面的代码中,我们在定义为arr的数组上使用len函数。
输出结果
如果我们在上面的代码上运行命令go run main.go,那么我们将得到以下输出。
Inside the main function数组的长度为: 3
如何获取切片的容量?
现在我们知道了len函数在数组情况下是如何工作的,让我们探索一下我们将使用相同函数和cap函数的情况。
该cap()函数用于获取切片的容量。数组的长度和数组的容量之间存在非常明显的差异。
切片的长度基本上是数组中存在的元素数。另一方面,容量是底层数组中元素的数量,我们从切片中的第一个元素开始计数。
示例 2
现在,让我们考虑一个例子,我们将在切片中使用len()和cap()函数。
考虑下面显示的代码。
package mainimport (
"fmt"
)
func main() {
sl := []int{2, 3, 5, 7, 10, 15}
check(sl)
sl = sl[2:]
check(sl)
sl = sl[:0]
check(sl)
}
func check(sl []int) {
fmt.Printf("len=%d cap=%d %v\n", len(sl), cap(sl), sl)
}
在上面的代码中,我们在定义为sl的切片上使用了len和cap函数。
输出结果
如果我们在上面的代码上运行命令go run main.go,那么我们将得到以下输出。
len=6 cap=6 [2 3 5 7 10 15]len=4 cap=4 [5 7 10 15]
len=0 cap=4 []
以上是 如何在 Golang 中获取数组或切片的大小? 的全部内容, 来源链接: utcz.com/z/331645.html