How to use an anonymous function in Go

4 Answers

0 votes
// Anonymous function = A function with no identifier.
// Assign an anonymous function to a variable

package main

import "fmt"

func main() {
    double_val := func(n int) int {
        return n * 2
    }

    fmt.Println(double_val(5)) 
}


/*
run:

10

*/

 



answered Feb 24, 2020 by avibootz
edited 1 day ago by avibootz
0 votes
// Immediately‑invoked anonymous function (IIFE)

package main

import "fmt"

func main() {
    result := func(a, b int) int {
        return a + b
    }(3, 7)

    fmt.Println(result) 
}


/*
run:

10

*/

 



answered Feb 25, 2020 by avibootz
edited 1 day ago by avibootz
0 votes
// Anonymous function as a callback

package main

import "fmt"

func apply(n int, f func(int) int) int {
    return f(n)
}

func main() {
    squared := apply(6, func(x int) int {
        return x * x
    })

    fmt.Println(squared) 
}


/*
run:

36

*/

 



answered 1 day ago by avibootz
0 votes
// Returning an anonymous function

package main

import "fmt"

func multiplier(factor int) func(int) int {
    return func(n int) int {
        return n * factor
    }
}

func main() {
    times3 := multiplier(3)
    
    fmt.Println(times3(10)) 
}


/*
run:

30

*/

 



answered 1 day ago by avibootz
...