Siempre vamos a necesitar recorrer arreglos o listas en Go. Al menos yo conozco 2 maneras de hacerlo y hoy vengo a explicarlas.
La forma más tradicional y antigua es declarar una variable en 0. Luego, hacer un ciclo for e ir incrementando esa variable de uno en uno hasta llegar a la longitud del arreglo.
Si queremos recorrer un arreglo o vector (por ejemplo, de números enteros) e imprimir sus valores el código de ejemplo sería el siguiente:
package main
import "fmt"
func main() {
numeros := [...]int {18, 28, 21, 96, 97}
for i := len(numeros) - 1; i >= 0; i-- {
fmt.Println(numeros[i])
}
}
Eso lo recorre de arriba hacia abajo, para “optimizar” el ciclo y no llamar muchas veces a len. Al ejecutar, tenemos:
Pero si a queremos recorrerlo de abajo hacia arriba tenemos dos opciones… almacenar la longitud en una variable, o llamar a la función en cada iteración.
El código quedaría así:
package main
import "fmt"
func main() {
numeros := [...]int {18, 28, 21, 96, 97}
longitud := len(numeros)
for i := 0; i < longitud; i++ {
fmt.Println(numeros[i])
}
}
Y su ejecución sería la siguiente:
Ahora quedaría así:
package main
import "fmt"
func main() {
numeros := [...]int {18, 28, 21, 96, 97}
for i := 0; i < len(numeros); i++ {
fmt.Println(numeros[i])
}
}
Y su ejecución sería casi la misma que arriba, así:
Este es el método preferido y elegante. Si queremos recorrer un arreglo, utilizamos range. Así, podemos acceder al índice y al valor por separado.
Por ejemplo, para ver el índice y valor de un arreglo usamos esto:
package main
import "fmt"
func main() {
numeros := [...]int {18, 28, 21, 96, 97}
for indice, valor := range numeros {
fmt.Printf("Estamos en el índice %d, y su valor es %d\n", indice, valor)
}
}
La salida es la siguiente:
Código de ejemplo:
package main
import "fmt"
func main() {
numeros := [...]int {18, 28, 21, 96, 97}
for indice, _ := range numeros {
fmt.Printf("Estamos en el índice %d\n", indice)
}
}
Lo que da como resultado esto:
Código fuente de ejemplo:
package main
import "fmt"
func main() {
numeros := [...]int {18, 28, 21, 96, 97}
for _, valor := range numeros {
fmt.Printf("Estamos en el valor %d\n", valor)
}
}
Para terminar, esta es la salida:
Sólo recorrimos arreglos de números, pero también podemos recorrer arreglos de cualquier tipo, sobre todo utilizando range.
El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…
Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…
En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta web usa cookies.