Go inline function literals as arguments to other functions or function literals.

This commit is contained in:
Sam Zaydel 2014-07-09 20:56:01 -07:00
parent 8b6920a70a
commit 55e1c2adaf

View File

@ -188,6 +188,15 @@ func learnFlowControl() {
x = 1.3e3 // This makes x == 1300 x = 1.3e3 // This makes x == 1300
fmt.Println("xBig:", xBig()) // false now. 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. // When you need it, you'll love it.
goto love goto love
love: love: