Skip to content

Instantly share code, notes, and snippets.

@hitode909
Created November 20, 2013 11:41
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hitode909/7561822 to your computer and use it in GitHub Desktop.
Save hitode909/7561822 to your computer and use it in GitHub Desktop.
package main
import "fmt"
func mynumber() map[string]func(int) int {
sum := 0
result := make(map[string]func(int)int)
result["add"] = func(x int) int {
sum += x
return sum
}
result["sub"] = func(x int) int {
sum -= x
return sum
}
return result
}
func main() {
number1 := mynumber()
number2 := mynumber()
fmt.Println(number1["add"](1))
fmt.Println(number1["add"](1))
fmt.Println(number1["add"](1))
fmt.Println(number1["sub"](2))
fmt.Println(number1["sub"](2))
fmt.Println(number1["sub"](2))
fmt.Println(number2["add"](10))
fmt.Println(number2["add"](10))
fmt.Println(number2["add"](10))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment