Junior — Middle
¿Qué cantidad de elementos y qué capacidad tendrá una rebanada después de agregar un elemento si inicialmente no fue inicializada?
sobes.tech AI
Respuesta de la IA
Si una slice en Go no está inicializada inicialmente (es decir, es igual a nil), y añades un elemento a ella usando la función append, entonces:
- La cantidad de elementos (len) después de agregar será 1.
- La capacidad (cap) dependerá de la implementación, pero generalmente comienza con una capacidad pequeña, por ejemplo 1 o 2.
Ejemplo:
var s []int // slice nil
s = append(s, 10)
fmt.Println(len(s)) // 1
fmt.Println(cap(s)) // generalmente >= 1
Por lo tanto, al agregar el primer elemento a un slice nil en Go, automáticamente se asigna memoria para un nuevo slice con una capacidad suficiente para almacenar ese elemento.