Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Funciones anónimas

13/30
Recursos

Aportes 5

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

También se pueden hacer funciones que anónimas que reciben parámetros. Solamente hay que agregar el valor del mismo en los paréntesis del final

z := func(n int) int {
		return n * 2
	}(5)
package main

import (
	"fmt"
	"time"
)

// Funciones anónimas
func main() {
	func() {
		println("Hello")
	}()

	x := 5
	y := func() int {
		return x * 2
	}()
	fmt.Println(y)

	c := make(chan int)
	go func() {
		fmt.Println("Starting function")
		time.Sleep(2 * time.Second)
		fmt.Println("Finishing function")
		c <- 1
	}()
	fmt.Println(<-c)
}

un pequeño aporte relacionado a los antivirus, en caso alguien llegase a tener Kaspersky, Avast, entre otros, al momento de querer correr el archivo functions.go le arojara un falso positivo de Troyano, la solución más fácil es cambiarle el nombre de functions.go a main.go como se venía trabajando en los videos anteriores, y no habrá problemas al ejecutar el código

Una solución para no definir la función anónima dos veces, es declarandola pero no invocarla con los () al final, con esto podemos llamarla más adelante con la variable

package main

import "fmt"

func main() {	

	x := 5
	y := func(num int) int {
		return num * 2
	}

	z := 8

	fmt.Println(y(x))
	fmt.Println(y(z))
}

Una función anónima es una función definida internamente dentro de un bloque de código, y que no tiene identificador o nombre. Este tipo de funciones no son reutilizables como paquetes, siendo utilizadas únicamente dentro del bloque de código en el que son declaradas.