Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- )
- type myFn func(int) string
- func foo(i int) string {
- return "hi"
- }
- func bar(fn myFn) string {
- return fn(1)
- }
- func main() {
- r := bar(foo)
- fmt.Println(r)
- r = bar(func(i int) string {
- return "hello"
- })
- fmt.Println(r)
- }
- package main
- import "fmt"
- func plusTwo() (func(v int) (int)) {
- return func(v int) (int) {
- return v+2
- }
- }
- func plusX(x int) (func(v int) (int)) {
- return func(v int) (int) {
- return v+x
- }
- }
- func main() {
- p := plusTwo()
- fmt.Printf("3+2: %dn", p(3))
- px := plusX(3)
- fmt.Printf("3+3: %dn", px(3))
- }
Add Comment
Please, Sign In to add comment