在指针中,可以使用cap()函数来查找指针的容量。这个函数是一个内置函数,返回指向数组的指针的容量。在Go语言中,容量定义了存储在指向数组的指针中的最大元素数。此函数在内置中定义。
语法:
func cap(l Type) int
在这里,l的类型是一个指针。让我们借助示例来讨论这个概念:
// Go程序来说明如何查找 //指向数组的指针的容量 package main import ( "fmt" ) func main() { //创建和初始化 //指向数组的指针 //使用var关键字 var ptr1 [7]*int var ptr2 [5]*string var ptr3 [8]*float64 //查找容量 //指向数组的指针 //使用cap()函数 fmt.Println("ptr1 容量: ", cap(ptr1)) fmt.Println("ptr2 容量: ", cap(ptr2)) fmt.Println("ptr3 容量: ", cap(ptr3)) }
输出:
ptr1 容量: 7 ptr2 容量: 5 ptr3 容量: 8
Go获取数组指针的容量的示例2:
package main import ( "fmt" ) func main() { //创建数组 arr := [8]int{200, 300, 400, 500, 600, 700, 100, 200} var x int //创建指针 var p [5]*int //分配地址 for x = 0; x < len(p); x++ { p[x] = &arr[x] } //显示结果 for x = 0; x < len(p); x++ { fmt.Printf("p[%d] 的值= %d\n",x, *p[x]) } // 使用 cap() 函数查找容量 fmt.Println("arr的容量: ", cap(arr)) fmt.Println("p的容量: ", cap(p)) }
输出:
p[0] 的值= 200 p[1] 的值= 300 p[2] 的值= 400 p[3] 的值= 500 p[4] 的值= 600 arr的容量: 8 p的容量: 5