Sobes.tech
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, len siempre es igual al tamaño del array y no cambia.
  • Para un slice, len muestra 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.