Slices vs Arrays
Lección 2 de 21 del curso Slices y Maps en GoLang de Coddy.
En otros lenguajes de programación, a menudo encontramos arreglos dinámicos. En Go, estos se denominan slices, lo que nos permite agregar o eliminar elementos de forma dinámica. Sin embargo, es importante tener en cuenta que un slice en sí mismo no almacena elementos; más bien, sirve como una ventana a un arreglo.
Ahora, exploremos la diferencia entre un slice y un arreglo a través de un ejemplo. Consideremos un arreglo con tres elementos:
arr := [3]string{"Python", "Go", "Rust"}Como sabemos, un arreglo es un tipo de colección fija, lo que hace imposible agregar elementos. Si intentamos agregar un nuevo elemento, surgirán errores.
Aquí es donde entran los slices para abordar esta limitación. Entendamos esto con un ejemplo:
var books = []string{"SQL", "Java", "C++"}Como puedes ver, definimos el slice <strong>books</strong> de la misma manera que un arreglo regular, con la única diferencia de que no definimos la longitud.
Esto nos permite agregar o eliminar elementos dinámicamente durante el tiempo de ejecución, una operación imposible con los arreglos.
El acceso a los elementos en un slice es similar a los arreglos, utilizando índices:
fmt.Println(books[1]) // JavaEn Go, los slices ofrecen flexibilidad para trabajar con colecciones al permitir cambios dinámicos, a diferencia de los arreglos que tienen una estructura fija.
Desafío
Fácil- Define un slice con los siguientes elementos: "Learn Go", "Learn Python", "Learn Java", "Coddy.tech" secuencialmente.
- Imprime "Learn Go" y "Coddy.tech" en la pantalla usando índices.
- Puedes nombrar el slice como prefieras.
Pruébalo tú mismo
package main
import (
"fmt"
)
func main() {
// Tu código aquí
}
Todas las lecciones de Slices y Maps en GoLang
1Introducción
Introducción