Golang 如何获得一个数组或一个片断的大小

Golang 如何获得一个数组或一个片断的大小

如果我们想获得一个数组或一个片断的大小,我们可以使用Go提供的内置 len() 函数。

例子1

让我们首先探讨一下如何在数组中使用 len 函数。请看下面的代码。

package main

import (
   "fmt"
)

func main() {
   fmt.Println("Inside the main function")

   arr := [3]int{1,2,3}

   fmt.Println("The length of the array is:", len(arr))
}
Go

在上述代码中,我们在定义为 arr 的数组上使用 len 函数 。

输出

如果我们在上面的代码中运行命令 go run main.go ,那么我们将得到以下输出。

Inside the main function
The length of the array is: 3
Go

如何获得一个片断的容量

现在我们知道了 len 函数在数组中是如何工作的,让我们来探讨一下,在这种情况下,我们也将使用同一个函数和 cap 函数。

cap() 函数是用来获取一个片断的容量的。在数组的长度和数组的容量之间有一个非常明显的区别。

一个片断的长度基本上是数组中存在的元素的数量。另一方面,容量则是底层数组中的元素数量,我们从分片中的第一个元素开始计算。

例子2

现在,让我们考虑一个例子,我们将使用 len()cap() 函数与一个切片。

请看下面的代码。

package main

import (
   "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)
}
Go

在上面的代码中,我们对定义为 sl 的片子使用了 lencap 函数 。

输出

如果我们在上面的代码中运行命令 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 []
Go

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册