function_closure.go 229 B

123456789101112131415161718
  1. package main
  2. import "fmt"
  3. func main() {
  4. var f = Adder()
  5. fmt.Print(f(1), " - ")
  6. fmt.Print(f(20), " - ")
  7. fmt.Print(f(300))
  8. }
  9. func Adder() func(int) int {
  10. var x int
  11. return func(delta int) int {
  12. x += delta
  13. return x
  14. }
  15. }