Junior — Middle
¿Es posible una situación en la que la variable len muestre una longitud menor que el tamaño real del array o segmento?
sobes.tech AI
Respuesta de la IA
En Go, la variable len para un array o slice siempre refleja la longitud actual, que devuelve la función incorporada len().
- Para un array,
lensiempre es igual al tamaño del array y no cambia. - Para un slice,
lenmuestra la cantidad de elementos en el slice, que puede ser menor o igual a la capacidad del slice.
La situación en la que len es menor que el tamaño real del array es imposible, ya que len para un array es fija y igual al tamaño.
Para un slice, la longitud puede ser menor que la capacidad, pero no mayor que la cantidad real de elementos accesibles por índice.
Ejemplo:
arr := [5]int{1,2,3,4,5}
fmt.Println(len(arr)) // 5
slice := arr[1:3]
fmt.Println(len(slice)) // 2
fmt.Println(cap(slice)) // 4
Aquí, la longitud del slice es 2, aunque la capacidad es 4. Pero la longitud no puede ser mayor que el tamaño real del slice.