Métodos de longitud y capacidad
Comprendiendo la función len()
En Golang, la función len()
es el método principal para determinar el tamaño de un array. Devuelve el número de elementos en el array.
Obtención básica de la longitud
package main
import "fmt"
func main() {
// Array declaration
numbers := [5]int{10, 20, 30, 40, 50}
// Get array length
arrayLength := len(numbers)
fmt.Println("Array Length:", arrayLength) // Output: 5
}
Longitud vs Capacidad
graph TD
A[Array Size Methods] --> B[len() Function]
A --> C[cap() Function]
B --> D[Returns Number of Elements]
C --> E[Returns Total Allocated Capacity]
Comparación de métodos de longitud
Método |
Propósito |
Valor de retorno |
Aplicable a |
len() |
Conteo de elementos |
Número de elementos |
Arrays, Slices, Maps |
cap() |
Capacidad |
Capacidad total asignada |
Slices, Arrays |
Ejemplos prácticos de comprobación de longitud
Varios escenarios de longitud de array
package main
import "fmt"
func main() {
// Fixed-size array
fruits := [3]string{"apple", "banana", "orange"}
fmt.Println("Fruits Array Length:", len(fruits))
// Zero-length array
emptyArray := [0]int{}
fmt.Println("Empty Array Length:", len(emptyArray))
// Multidimensional array length
matrix := [2][3]int{{1, 2, 3}, {4, 5, 6}}
fmt.Println("Matrix Row Length:", len(matrix))
fmt.Println("Matrix Column Length:", len(matrix[0]))
}
Técnicas avanzadas de comprobación de longitud
Cálculo dinámico de la longitud
func calculateTotalSize(arrays...[]int) int {
totalSize := 0
for _, arr := range arrays {
totalSize += len(arr)
}
return totalSize
}
func main() {
arr1 := []int{1, 2, 3}
arr2 := []int{4, 5}
totalArraySize := calculateTotalSize(arr1, arr2)
fmt.Println("Total Array Size:", totalArraySize)
}
Consideraciones de rendimiento
len()
es una operación de tiempo constante.
- Tiene un gasto computacional mínimo.
- Es eficiente para arrays y slices grandes.
Errores comunes
- Comprobar la longitud de un slice/array
nil
puede causar un pánico en tiempo de ejecución.
- Siempre valide el array/slice antes de comprobar su longitud.
Recomendación de LabEx
Cuando trabaje con arrays en Go, utilice consistentemente len()
para determinar el tamaño e implemente un manejo adecuado de errores para garantizar un código robusto.