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?