Buscar las llaves de casa, el mando de la tele y datos en Slices es algo que vas a hacer varias veces en tu día a día, intenta tener un sitio para las llaves y el mando.
Ya te puedes ir…. de nada Chaouuuu
¿Cómo buscar un número en un Slice?
Para encontrar un número dentro de un Slice te mostrarte la forma que actualmente uso, Si conoces otra forma de hacerlo me gustaría conocerla.
Algoritmo para buscar un número dentro de un []int
Este algoritmo lo implementaremos en una función (Abuela) que recibe dos argumentos “La lista de números(ListaDeNumeros []int) y el número a encontrar(Objetivo int)” y devolverá bool.
package main
import "fmt"
func main() {
ListaDeNumeros := []int{23, 43, 53, 51, 42, 5}
Objetivo := 6
//Aquí llamo la función y guardo el resultado en la variable respuesta
respuesta := abuela(ListaDeNumeros, Objetivo)
fmt.Println(respuesta)
}
func abuela(ListaDeNumeros []int, Objetivo int) bool {
for _, v := range ListaDeNumeros {
if v == Objetivo {
return true
}
}
return false
}
Ejemplo 1 Como buscar un número en un Slice de Go
Tomaremos un valor(pregunta int) para buscar en la lista (billetes []int)si existe el billete con ese valor, la información que nos devuelve la función(buscarBillete) la guardaremos en una variable(respuesta) y luego la imprimimos.
Actualmente Europa tiene billetes con valores de 5, 10, 20, 50, 100, 200 Euros.
package main
import "fmt"
func main() {
pregunta := 20
billetes := []int{5, 10, 20, 50, 100, 200}
respuesta := buscarBillete(pregunta, billetes)
fmt.Println(respuesta)
}
func buscarBillete(pregunta int, billetes []int) bool {
for _, billete := range billetes {
if billete == pregunta {
return true
}
}
return false
}
Ejemplo 2 Como buscar texto en un Slice de Go
Este ejemplo es similar al anterior lo que cambia es el tipo de dato que vamos a buscar, ahora tu debes elegir el nombre de la función y las variables.
Arquitecturas: Clásica, Románica, Gótica, Renacentista, Barroca, Rococó, Modernista, Moderna.
package main
import "fmt"
func main() {
buscoTipo := "Clásica"
arquitecturas := []string{"Clásica", "Románica", "Gótica", "Renacentista", "Barroca", "Rococó", "Modernista", "Moderna"}
respuesta := buscarBillete(buscoTipo, arquitecturas)
fmt.Println(respuesta)
}
func buscarBillete(busqueda string, arqRas []string) bool {
for _, arq := range arqRas {
if arq == busqueda {
return true
}
}
return false
}