Functions and Methods
Anonymous Functions
Anonymous functions can be stored in variables and use surrounding values.
Anonymous Functions
anonymous_functions.go
package main
import "fmt"
func main() {
var multiplier =
scale := func(value int) int {
return value * multiplier
}
result := scale(4)
fmt.Println("multiplier=", multiplier)
fmt.Println("result=", result)
}
package main
import "fmt"
func main() {
var multiplier =
scale := func(value int) int {
return value * multiplier
}
result := scale(4)
fmt.Println("multiplier=", multiplier)
fmt.Println("result=", result)
}
package main
import "fmt"
func main() {
var multiplier =
scale := func(value int) int {
return value * multiplier
}
result := scale(4)
fmt.Println("multiplier=", multiplier)
fmt.Println("result=", result)
}
closure
An anonymous function can close over variables from the surrounding function.