📜  如何在Golang中找到指针的长度?

📅  最后修改于: 2021-10-25 02:50:33             🧑  作者: Mango

Go 编程语言或 Golang 中的指针是一个变量,用于存储另一个变量的内存地址。 Golang 中的指针也称为特殊变量。这些变量用于在系统中的特定内存地址存储一些数据。内存地址总是以十六进制格式(以 0x 开头,如 0xFFAAF 等)。
在指针中,您可以在len()函数的帮助下找到指针的长度。此函数是一个内置函数,返回指向数组的指针中存在的元素总数,即使指定的指针为零。这个函数是在 builtin 下定义的。

句法:

func len(l Type) int

这里, l的类型是一个指针。让我们在给定的例子的帮助下讨论这个概念:

例子:

// Go program to illustrate how to find the
// length of the pointer to an array
package main
  
import (
    "fmt"
)
  
// Main function
func main() {
  
    // Creating and initializing
    // pointer to array
    // Using var keyword
    var ptr1 [6]*int
    var ptr2 [3]*string
    var ptr3 [4]*float64
  
    // Finding the length of 
    // the pointer to array
    // Using len function
    fmt.Println("Length of ptr1: ", len(ptr1))
    fmt.Println("Length of ptr2: ", len(ptr2))
    fmt.Println("Length of ptr3: ", len(ptr3))
  
}

输出:

Length of ptr1:  6
Length of ptr2:  3
Length of ptr3:  4

示例 2:

// Go program to illustrate how to find
// the length of the pointer to an array
package main
  
import (
    "fmt"
)
  
// Main function
func main() {
  
    // Creating an array
    arr := [6]int{200, 300,
        400, 500, 600, 700}
      
    var x int
  
    // Creating pointer
    var p [4]*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 length
    // Using len() function
    fmt.Println("Length of arr: ", len(arr))
    fmt.Println("Length of p: ", len(p))
}

输出:

Value of p[0] = 200
Value of p[1] = 300
Value of p[2] = 400
Value of p[3] = 500
Length of arr:  6
Length of p:  4