aprendago icon indicating copy to clipboard operation
aprendago copied to clipboard

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

Open vkorbes opened this issue 5 years ago • 9 comments

Exercício: Capítulo 13, Exercício 9 (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!

vkorbes avatar Sep 30 '20 17:09 vkorbes

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

dsmello avatar Oct 01 '20 23:10 dsmello

https://play.golang.org/p/5kQXWeKuqg2

diegoparra avatar Oct 12 '20 16:10 diegoparra

package main 

import ("fmt")

func main(){
  y := receber()

  fmt.Println(y(5))  
}

func receber() func(x int) int{
  return func(x int) int{
    return x*(x+2)

  }
  }

albsrocha avatar Dec 06 '20 15:12 albsrocha

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

package main

import "fmt"

/* - Crie uma função que retorna uma função.
- Atribua a função retornada a uma variável.
- Chame a função retornada. */

func principal() func(x int) int {
	return func(x int) int {
		return x
	}
}

func main() {
	retornada := principal()(1337)

	fmt.Println(principal()(10))
	fmt.Println(retornada)
}

Output

10
1337

Program exited.

an4kein avatar Feb 26 '21 03:02 an4kein

Não entendi direito a utilidade. Preciso ver mais exemplos, mas aí está a solução.

/* Crie uma função que retorna uma função.
- Atribua a função retornada a uma variável.
- Chame a função retornada.
*/

package main

import (
	"fmt"
	"math"
)

func main() {

	z := funcaoPai(5)

	z()

}

// Recebe raio
// retorna uma funcao que calcula raio do circulo
func funcaoPai(r float64) func() {
	
	// dado necessario para função de calculo
	pih := math.Pi
	
	return func() {
		area := pih * pih * r
		fmt.Println(area)

	}
}

alansantosmg avatar Apr 24 '21 20:04 alansantosmg

7, 8 e 9: https://play.golang.org/p/KJsaVqqNfh9

tfferrari avatar Sep 26 '21 15:09 tfferrari

Cap. 13 – Exercícios: Nível #6 – 8 https://go.dev/play/p/yi-EehkuoS2 image

wfrsilva avatar May 30 '22 19:05 wfrsilva


package main
import("fmt")

func pot(n int) func(x int) int{
  magica := func(x int) int{
    i := 1
    for j := 0; j < n; j++{
      i *= x
    }
    return i
  }
  return magica
}


func main(){
  quadrado := pot(2)
  cubo := pot(3)
  fmt.Println("Quadrado de 8:", quadrado(8))
  fmt.Println("Cubo de 8:", cubo(8))
}

felipe-mello-dos-reis avatar Apr 08 '23 22:04 felipe-mello-dos-reis