如何在Golang中找到指针的容量()

指针在Go编程语言或Golang中, 是一个变量, 用于存储另一个变量的内存地址。 Golang中的指针也称为特殊变量。变量用于在系统中的特定内存地址存储一些数据。始终以十六进制格式找到内存地址(以0x开头, 如0xFFAAF等)。
在指针中, 你可以借助来查找指针的容量。
cap函数-这个函数是一个内置函数, 返回指向数组的指针的容量。在Go语言中, 容量定义了存储在指向数组的指针中的最大元素数。此函数在内置中定义。
语法如下:

func cap(l Type) int

在这里, 类型升是一个指针。让我们借助示例来讨论这个概念:
例子:
//Go program to illustrate how to find the //capacity of the pointer to an array package mainimport ( "fmt" )//Main function func main() {//Creating and initializing //pointer to array //Using var keyword var ptr1 [7]* int var ptr2 [5]*string var ptr3 [8]*float64//Finding the capacity of //the pointer to array //Using cap function fmt.Println( "Capacity of ptr1: " , cap(ptr1)) fmt.Println( "Capacity of ptr2: " , cap(ptr2)) fmt.Println( "Capacity of ptr3: " , cap(ptr3))}

输出如下:
Capacity of ptr1 : 7 Capacity of ptr2 : 5 Capacity of ptr3 : 8

示例2:
//Go program to illustrate how to find the //capacity of the pointer to an array package mainimport ( "fmt" )//Main function func main() {//Creating an array arr := [8] int {200, 300, 400, 500, 600, 700, 100, 200}var x int//Creating pointer var p [5]* int//Assigning the address for x = 0; x < len(p); x++ { p[x] = & arr[x] }//Displaying result for x = 0; x < len(p); x++ {fmt.Printf( "Value of p[%d] = %d\n" , x, *p[x]) }//Finding capacity //using cap() function fmt.Println( "Capacity of arr: " , cap(arr)) fmt.Println( "Capacity of p: " , cap(p)) }

【如何在Golang中找到指针的容量()】输出如下:
Value of p[0] = 200 Value of p[1] = 300 Value of p[2] = 400 Value of p[3] = 500 Value of p[4] = 600 Capacity of arr:8 Capacity of p:5

    推荐阅读