Go

Estructuras de datos en Go

Arrays, slices, maps, structs, pointers, make vs new, valores nil

20 preguntas de entrevista·
Junior
1

¿Qué es un slice en Go?

Respuesta

Un slice es una vista dinámica sobre un array subyacente que permite manipular secuencias de elementos de longitud variable. A diferencia de los arrays, que tienen un tamaño fijo definido en tiempo de compilación, los slices pueden crecer o reducirse dinámicamente mediante operaciones como append. Esta flexibilidad los convierte en la estructura de datos secuencial más usada en Go para almacenar colecciones de elementos homogéneos.

2

¿Cuál es la diferencia principal entre un array y un slice en Go?

Respuesta

La diferencia fundamental está en el tamaño: un array tiene un tamaño fijo definido en tiempo de compilación y forma parte del propio tipo, mientras que un slice tiene un tamaño dinámico que puede cambiar en tiempo de ejecución. Esta distinción implica que dos arrays de tamaños distintos se consideran tipos incompatibles, mientras que todos los slices del mismo tipo de elemento son compatibles. Por ello, los slices son más flexibles y más usados en el código Go moderno.

3

¿Cómo crear un slice vacío en Go?

Respuesta

La sintaxis literal con corchetes vacíos seguidos de llaves vacías es la manera idiomática de crear un slice vacío inicializado. Este enfoque crea un slice de longitud 0 pero no nil, listo para recibir elementos mediante append. A diferencia de una simple declaración que daría un slice nil, esta inicialización explícita garantiza un slice utilizable de inmediato sin riesgo de comportamiento inesperado al añadir elementos.

4

¿Qué función se debe usar para inicializar un slice con una capacidad específica?

5

¿Qué ocurre al añadir un elemento a un slice cuya capacidad se ha alcanzado?

+17 preguntas de entrevista

Domina Go para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis