aprendago
aprendago copied to clipboard
Exercício: Capítulo 13, Exercício 7 (Nível: 6)
Exercício: Capítulo 13, Exercício 7 (Nível: 6)
Use esta thread para compartilhar sua solução, discutir o exercício com os colegas e pedir ajuda caso tenha dificuldades!
https://play.golang.org/p/RV4E687N_0S
Achei simples, só não consigo visualizar muito seu uso no dia a dia, talvez no decorrer do curso faça mais sentido.
https://play.golang.org/p/ZWP57MAiUGM
https://play.golang.org/p/goRdZDNCoZF
package main
//- Crie e utilize uma função anônima.
import "fmt"
func main() {
func() {
fmt.Println("func anonymous")
}()
louco := func(x int) int {
return x
}
fmt.Println("Vamos brincar com essa func anon, demonstra esse valor:", louco(10))
}
Output
func anonymous
Vamos brincar com essa func anon, demonstra esse valor: 10
Program exited.
Minha solução. Calculadora de emprestimos com juros compostos usando somente funções anonimas. Usei pra tudo, mas acho que elas seriam uteis para calculos simples, conversões.
/*
- Crie e utilize uma função anônima
*/
// Calculadora de juros compostos hardcoded
package main
import (
"fmt"
"math"
)
func main() {
montante := 1000.0
taxaJuros := 5
prazo := 12
// anonymous function converte taxa para float e percentual
jurosMes := func(t int) (j float64) {
j = float64(t) / 100
return
}(taxaJuros)
// converte prazo de int para float
fPrazo := func(p int) (pf float64) {
pf = float64(p)
return
}(prazo)
//calcula emprestimo
totalPago := func(montante, fPrazo, jurosMes float64) (total float64) {
total = montante * math.Pow((1+jurosMes), fPrazo)
return
}(montante, fPrazo, jurosMes)
func(montante float64, taxaJuros int, prazo int, totalPago float64) {
fmt.Printf("Valor emprestado R$: %0.2f\n", montante)
fmt.Printf("Taxa de juros: %d%% ao mês.\n", taxaJuros)
fmt.Printf("Prazo: %d meses.\n", prazo)
fmt.Printf("Total pago ao final do empréstimo: R$ %0.2f\n", totalPago)
}(montante, taxaJuros, prazo, totalPago)
}
Cap. 13 – Exercícios: Nível #6 – 6 https://go.dev/play/p/IJKPOcV7uk4
https://go.dev/play/p/80atnU8B5qm