¿Cómo encontrar la capacidad del puntero en Golang?

Los punteros en el lenguaje de programación Go o Golang es una variable que se utiliza para almacenar la dirección de memoria de otra variable. Los punteros en Golang también se denominan variables especiales. Las variables se utilizan para almacenar algunos datos en una dirección de memoria particular en el sistema. La dirección de memoria siempre se encuentra en formato hexadecimal (comenzando con 0x como 0xFFAAF, etc.).
En los punteros, puede encontrar la capacidad del puntero con la ayuda de la función cap() . Esta función es una función integrada que devuelve la capacidad del puntero a la array. En el lenguaje Go, la capacidad define el número máximo de elementos almacenados en un puntero a la array. Esta función se define en builtin.

Sintaxis:

func cap(l Type) int

Aquí, el tipo de l es un puntero. Discutamos este concepto con la ayuda de los ejemplos:

Ejemplo:

// Go program to illustrate how to find the
// capacity 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 [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))
  
}

Producción:

Capacity of ptr1 : 7
Capacity of ptr2 : 5
Capacity of ptr3 : 8

Ejemplo 2:

// Go program to illustrate how to find the
// capacity of the pointer to an array
package main
  
import (
    "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))
}

Producción:

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

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *