Golang Retire de la rebanada

Golang Retire de la rebanada
Una porción en GO es un tipo de datos que almacena una recopilación de datos ordenados del mismo tipo. Las rodajas son muy similares a la matriz. Sin embargo, a diferencia de las matrices, las rodajas son dinámicas y no tienen una longitud fija. Tenga en cuenta que a pesar de la longitud, los rodajas conservan otras propiedades de una matriz de Golang, incluido el tipo.

En este artículo, exploraremos cómo eliminar un elemento de una porción.

Golang crea rebanadas

Podemos crear una porción en GO especificando el tipo de datos de los elementos que mantendrá. Luego podemos encerrar los elementos de la matriz dentro de un par de aparatos ortopédicos rizados.

El código de ejemplo a continuación muestra cómo crear una porción en Go:

paquete principal
funcmain ()
Slice: = [] String "A", "B", "C", "D"

Una vez que tenemos una porción declarada, podemos realizar acciones como actualizar elementos en un índice específico, acceder a los elementos, agregar elementos adicionales y más. Consulte nuestro tutorial sobre Golang Slices para obtener más información.

Artículo de eliminación de Golang

Antes de discutir cómo eliminar un elemento de un porta. Esto se debe a que es importante entender cómo eliminar un elemento de una porción.

Podemos crear una subclaz utilizando la notación de indexación. Por ejemplo, si queremos crear una subclaz compuesta por los valores del índice 2 al 7, podemos hacer:

new_slice: = Old_Slice [2: 7]

La sintaxis anterior agarrará los elementos en el índice 2 al índice 7 desde la porción anterior y creará una nueva porción.

Si desea crear una subclaz desde el índice 0 a un índice de destino, podemos hacer:

new_slice: = Old_Slice [: 5]

La sintaxis anterior tomará los elementos del índice 0 al índice 5 y creará una porción nueva.

Ahora que tenemos el proceso de crear un subdlezo desde una porción fuera del camino, podemos proceder a aprender a eliminar un elemento de una porción.

Preservar el orden de las rebanadas

Supongamos que tenemos una porción que contiene elementos como se muestra a continuación:

Slice: = [] String "A", "B", "C", "D", "E", "F"

Si queremos eliminar un elemento de la porción y aún conservar el orden, cambiamos las posiciones de los elementos después del elemento que deseamos eliminar hacia la izquierda con un factor de uno.

Podemos expresar la sintaxis anterior como:

cambiar len (a) - i - 1

Donde a representa la porción y yo como índice del elemento que deseamos eliminar.

Un código de ejemplo es como se muestra:

paquete principal
importar "fmt"
func Main ()
Slice: = [] String "A", "B", "C", "D", "E", "F"
Índice: = 1
copia (slice [index:], slice [índice+1:]) // cambia valores después del índice con un factor de 1
SLICE [LEN (SLICE) -1] = "" // Eliminar elemento
Slice = Slice [: Len (Slice) -1] // TruncatesLice
fmt.Println (rebanada)

El código anterior eliminará el elemento en el índice 0. La porción resultante es como se muestra:

[A C D E F]

Ignorar el orden de la porción

Si reservar el orden de corte no es crucial, podemos usar el código como se muestra a continuación:

paquete principal
importar "fmt"
func Main ()
Slice: = [] String "A", "B", "C", "D", "E", "F"
Índice: = 1
Slice [index] = slice [len (slice) -1] // Copiar el último elemento aindex que deseamos eliminar
Slice [Len (Slice) -1] = "" // Eliminar el elemento
Slice = Slice [: Len (Slice) -1]
fmt.Println (rebanada)

El código anterior elimina el elemento en el índice especificado. Sin embargo, no retiene el orden de la porción como se muestra en la salida a continuación:

[a f c d e]

Esto porque este método reemplaza el elemento eliminado con el elemento en el último índice.

Conclusión

En esta guía, cubrimos los conceptos básicos de trabajar con rodajas y cómo eliminar un elemento de una porción con y sin retener el orden de la porción.

Gracias por leer!