Guest User

Untitled

a guest
Jan 17th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. )
  6.  
  7. type myFn func(int) string
  8.  
  9. func foo(i int) string {
  10. return "hi"
  11. }
  12.  
  13. func bar(fn myFn) string {
  14. return fn(1)
  15. }
  16.  
  17. func main() {
  18. r := bar(foo)
  19. fmt.Println(r)
  20.  
  21. r = bar(func(i int) string {
  22. return "hello"
  23. })
  24. fmt.Println(r)
  25. }
  26.  
  27. package main
  28.  
  29. import "fmt"
  30.  
  31. func plusTwo() (func(v int) (int)) {
  32. return func(v int) (int) {
  33. return v+2
  34. }
  35. }
  36.  
  37. func plusX(x int) (func(v int) (int)) {
  38. return func(v int) (int) {
  39. return v+x
  40. }
  41. }
  42.  
  43. func main() {
  44. p := plusTwo()
  45. fmt.Printf("3+2: %dn", p(3))
  46.  
  47. px := plusX(3)
  48. fmt.Printf("3+3: %dn", px(3))
  49. }
Add Comment
Please, Sign In to add comment