learn go recursive

简介: package main // 参考文章: // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/06.
package main

// 参考文章:
//     https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/06.6.md

import (
    "fmt"
)

func main () {
     fmt.Printf("%d is even: is %t\n", 16, even(16)) // 16 is even is true
    fmt.Printf("%d is odd: is %t\n", 17, odd(17))
    // 17 is odd: is true
    fmt.Printf("%d is odd: is %t\n", 18, odd(18))
    // 18 is odd: is false
}

func even( nr int) bool {
    if nr == 0 {
        return true
    }
    return odd(RevSign(nr) - 1)
}

func odd(nr int) bool {
    if nr == 0 {
        return false
    }
    return even(RevSign(nr) - 1)
}

func RevSign(nr int) int {
    if nr < 0 {
        return -nr
    }
    return nr
}

 

目录
相关文章
|
4月前
|
Go
Go to Learn Go之命令行参数
Go to Learn Go之命令行参数
40 8
|
4月前
|
Serverless Go
Go to Learn Go之时间日期
Go to Learn Go之时间日期
50 8
|
4月前
|
Go
Go to Learn Go之Gob
Go to Learn Go之Gob
29 8
|
4月前
|
Go
Go to Learn Go之文件操作
Go to Learn Go之文件操作
33 8
|
4月前
|
Go
Go to Learn Go之反射
Go to Learn Go之反射
51 8
|
4月前
|
存储 安全 Go
Go to Learn Go之并发
Go to Learn Go之并发
35 8
|
4月前
|
存储 Go
Go to Learn Go之类型转换
Go to Learn Go之类型转换
48 7
|
4月前
|
Go
Go to Learn Go之错误处理
Go to Learn Go之错误处理
54 7
|
4月前
|
存储 Go
Go to Learn Go之接口
Go to Learn Go之接口
38 7
|
4月前
|
Go
Go to Learn Go之作用域
Go to Learn Go之作用域
30 5