Files
the-way-to-go_ZH_CN/eBook/exercises/chapter_6/factorial.go
2017-02-11 12:24:19 +08:00

35 lines
498 B
Go
Executable File

// factorial.go
package main
import (
"fmt"
)
func main() {
for i := uint64(0); i < uint64(30); i++ {
fmt.Printf("Factorial of %d is %d\n", i, Factorial(i))
}
}
/* unnamed return variables:
func Factorial(n uint64) uint64 {
if n > 0 {
return n * Factorial(n-1)
}
return 1
}
*/
// named return variables:
func Factorial(n uint64) (fac uint64) {
fac = 1
if n > 0 {
fac = n * Factorial(n-1)
return
}
return
}
// int: correct results till 12!
// uint64: correct results till 21!