github.com/packtpublishing/learning-functional-programming-in-go@v0.0.0-20230130084745-8b849f6d58c4/Chapter09/misc/ex2/lambda.go (about) 1 package main 2 3 type lambda func(int) int 4 5 func add(a int) lambda { 6 return func(free int) int { 7 return func(b int) int { 8 return a + b 9 }(free) 10 } 11 } 12 13 func main() { 14 add2 := add(2) 15 three := add2(1) 16 println("Pass 1 to to add2 expression to get:", three) 17 four := add2(2) 18 println("Pass 2 to to add2 expression to get:", four) 19 } 20 21 22 /* 23 24 var n = 10 25 fmt.Println(n == func(z int) int { return n }(123)) 26 fmt.Println(add(1)(10)) 27 28 29 */