将闭包作为函数参数传递

From this example: https://gobyexample.com/closures If we change:

    fmt.Println(nextInt())
    fmt.Println(nextInt())
    fmt.Println(nextInt())

to

    fmt.Println(intSeq())
    fmt.Println(intSeq())
    fmt.Println(intSeq())

go run will fail with error: ./prog.go:32:5: Println arg intSeq() is a func value, not called

But from this example: https://gobyexample.com/recursion

    fmt.Println(fact(7))

We can call fact(7) function as fmt.Println's argument. Why we have difference?

To reckon. When you run Golang playground or any Test in your code, go vet run first and if it return with error the actual go code doesn't run.

If you go build , or go run (tested with 1.12.5) the code run perfectly, printing the function pointer address.

If you copy your code to the tutorial site, here https://tour.golang.org/welcome/1 for example. the code work as you expected.