Golang 如何查找指针的容量

Golang 如何查找指针的容量

在Go编程语言或Golang中,指针是一种变量,用于存储另一个变量的内存地址。 Golang中的指针也称为特殊变量。变量用于在系统中的特定内存地址处存储某些数据。内存地址总是以十六进制格式找到(以0x开头,如0xFFAAF等)。

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

例子2:

// Go程序,演示如何查找
// 指向数组的指针的容量
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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程