在指针中,可以使用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