From 55e1c2adafcf0f2590633064aaf83af5ff1964af Mon Sep 17 00:00:00 2001 From: Sam Zaydel Date: Wed, 9 Jul 2014 20:56:01 -0700 Subject: [PATCH] Go inline function literals as arguments to other functions or function literals. --- go.html.markdown | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/go.html.markdown b/go.html.markdown index a9a7de72..e496117e 100644 --- a/go.html.markdown +++ b/go.html.markdown @@ -188,6 +188,15 @@ func learnFlowControl() { x = 1.3e3 // This makes x == 1300 fmt.Println("xBig:", xBig()) // false now. + // What's more is function literals may be defined and called inline, + // acting as an argument to function, as long as: + // a) function literal is called immediately (), + // b) result type matches expected type of argument. + fmt.Println("Add + double two numbers: ", + func(a, b int) int { + return (a + b) * 2 + }(10, 2)) // Called with args (10, 2) + // When you need it, you'll love it. goto love love: