vkorbes / aprendago

Curso completo em português da linguagem Go, de zero a ninja! 🇧🇷
http://aprendago.com
1.03k stars 183 forks source link

Exercício: Capítulo 13, Exercício 7 (Nível: 6) #46

Open vkorbes opened 4 years ago

vkorbes commented 4 years ago

Exercício: Capítulo 13, Exercício 7 (Nível: 6)

Link para o vídeo:

Use esta thread para compartilhar sua solução, discutir o exercício com os colegas e pedir ajuda caso tenha dificuldades!

dsmello commented 4 years ago

https://play.golang.org/p/RV4E687N_0S

diegoparra commented 3 years ago

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

an4kein commented 3 years ago

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.
alansantosmg commented 3 years ago

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)

}
wfrsilva commented 2 years ago

Cap. 13 – Exercícios: Nível #6 – 6 https://go.dev/play/p/IJKPOcV7uk4

image

Harsgaard commented 1 year ago

https://go.dev/play/p/80atnU8B5qm