Golang recursividade
Recursividade
A linguagem de programação Golang é conhecida por ser simples, eficiente e trabalhar muito bem com concorrência. Utilizar recursividade não é muito comum em Go, mas em alguns momentos é a melhor solução a ser aplicada.
Recursividade é quando uma função chama ela mesma para chegar no resultado esperado.
Eficiência
Sempre verifique se a solução com recursividade será eficiente devido às várias chamadas executadas.
Alternativas
Sempre verifique a possibilidade de utilizar abordagens iterativas favorecendo a clareza do código.
Código
Abaixo exemplo de contagem regressiva com Go
package main
import "fmt"
func contRegressiva(numero int) {
if numero >= 0 {
fmt.Printf("Valor atual: %d\n", numero)
contRegressiva(numero - 1)
} else {
fmt.Print("Finalizado")
}
}
func main() {
contRegressiva(10)
}
>> Valor atual: 10
>> Valor atual: 9
>> Valor atual: 8
>> Valor atual: 7
>> Valor atual: 6
>> Valor atual: 5
>> Valor atual: 4
>> Valor atual: 3
>> Valor atual: 2
>> Valor atual: 1
>> Valor atual: 0
>> Finalizado