Copiar elementos de un slice

¿Cómo copiar valores de un slice en Go?

Para copiar todos los elementos de un slice existe la función copy. Para copiar valores de un slice a otro, un slice puede ser inicializado mediante otro del mismo tipo, ya que no es posible copiar los valores de un slice de enteros a otro de cadenas de strings. Una copia implica que los valores permanecen aun si el slice original es modificado o destruido.

Ejemplo de como copiar valores de un slice a otro en Go

package main

import "fmt"

func main() {
    figuras := []string{"circulo", "cuadrado", "triangulo", "rombo", "trapecio", "heptagono"}
    var figuras2 = make([]string, len(figuras))
    fmt.Println(figuras)
    copy(figuras2, figuras)
    figuras = append(figuras[:1], figuras[2:]...)
    fmt.Println(figuras2)
    fmt.Println(figuras)
}

Salida…

[circulo cuadrado triangulo rombo trapecio heptagono]
[circulo cuadrado triangulo rombo trapecio heptagono]
[circulo triangulo rombo trapecio heptagono]

Descripción del ejemplo de como copiar valores de un slice en Go

En el ejemplo actual…

  • Se crea un slice llamado figuras.
  • Se genera un contenedor para crear una copia, con la dimensión de figuras mediante make([]string, len(figuras)).
  • Se copian los valores de figuras en figuras2 mediante copy(figuras2, figuras).
  • Se elimina el elemento cuadrado de figuras.
  • Los valores de figuras2 no se han alterado.

VPN

  • Ir a la oferta de NordVPN

Moda

Accesorios