| 12345678910111213141516171819202122232425262728293031323334 |
- // 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!
|