Golang adjuntar

Golang adjuntar

En esta guía, miraremos el uso de la función de agregar para agregar valores a una porción. Dado que una porción no tiene un tamaño dinámico, elimina o agrega valores.

Función de anexo de golang

El método de agregado en GO le permite agregar cualquier cantidad de elementos especificados al final de una porción.

Si la matriz subyacente contiene suficiente capacidad, use esta matriz. De lo contrario, si no hay suficiente capacidad para mantener los elementos especificados, GO crea una nueva matriz subyacente y copia los datos existentes (incluidos los nuevos valores) a la nueva matriz.

La sintaxis de la función se puede expresar como:

slice = append (slice, element_1, element_2 ..., element_n)

La función toma el nombre de la porción para agregar a y los elementos para agregar al corte como argumentos.

La función devolverá una porción con los valores originales y los nuevos adjuntos a la porción.

Tenga en cuenta que la función de anexo no afecta la porción en el lugar. Solo devuelve una porción actualizada con los "cambios" especificados. Por lo tanto, es posible que deba guardar el valor de retorno en una variable.

Agregar para cortar

Considere el ejemplo a continuación que agrega nuevos valores a una porción.

paquete principal
importar "fmt"
func Main ()
my_slice: = [] cadena "James", "Marlon", "Winnie", "Wesly"
fmt.Println (my_slice)
my_slice = append (my_slice, "jane", "maya")
fmt.Println (my_slice)

La función de anexo tomará los elementos especificados y los agregará a My_Slice Slice.

La salida resultante es como se muestra:

[James Marlon Winnie Wesly]
[James Marlon Winnie Wesly Jane Maya]

También puede agregar elementos a una porción vacía, como se muestra en el ejemplo a continuación:

paquete principal
importar "fmt"
func Main ()
my_slice: = [] string
fmt.Println (my_slice)
my_slice = append (my_slice, "jane", "maya")
fmt.Println (my_slice)

La porción resultante:

$ Go Run APPEND_TO_SLICE.ir
[]
[Jane Maya]

Agregar rebanadas para cortar

También puede agregar los elementos de una porción a otra porción utilizando el operador de tres puntos. Sí, como JavaScript.

Considere el ejemplo a continuación:

func append_to_slice ()
my_slice: = [] cadena "naranja", "manzana", "banana"
otro_slice: = [] String "Tomato", "Strawberry", "Melon"
my_slice = append (my_slice, otro_slice ...)
fmt.Println (my_slice)

La función anterior toma una porción y la agrega a la otra porción. Preste atención a los tres puntos después del segundo porta (parámetro).

Esto le dice a la función que desempacar los elementos de la porción y agregarlos a la nueva porción. Una salida de ejemplo:

[Melón de fresa de tomate de plátano de manzana naranja]

De lo contrario, la operación de anexos falla.

my_slice = append (my_slice, otro_slice)

El compilador devuelve un error como:

No se puede usar otro_slice (type [] string) como cadena de tipo en append

Agregar cadena a byte slice

También puede agregar una cadena a una porción de byte como se muestra a continuación:

func append_str_to_byte_slice ()
byte_slice: = make ([] byte, 0)
byte_slice = append (byte_slice, [] byte ("linuxhint") ...)
fmt.Println (byte_slice)

Similar a agregar una porción a una porción, necesitamos desempacar la cadena a los bytes. Una porción de byte resultante es como se muestra:

[76 105 110 117 120 104 105 110 116]

Conclusión

En esta guía, cubrimos diversas técnicas de uso del método de agregado en el lenguaje de programación GO. Usando este método, puede agregar nuevos elementos a las rodajas con facilidad.