Can functions be passed as parameters?

后端 未结 6 1069
北荒
北荒 2020-12-12 12:06

In Java I can do something like

derp(new Runnable { public void run () { /* run this sometime later */ } })

and \"run\" the code in the me

6条回答
  •  再見小時候
    2020-12-12 12:32

    Here is a simple example:

        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: %d\n", p(3))
    
            px := plusX(3)
            fmt.Printf("3+3: %d\n", px(3))
        }
    

提交回复
热议问题