dtef9322
2016-08-26 02:52
浏览 171
已采纳

golang递归函数如何检查返回值?

Learning golang, proect euler problem 5. I was messing around with a recursive function and I could not figure out a way to get the return value to be correct.

In go I cannot take out the return at the end of the five() function and I also cannot get it to return the right value to execute the if statement in the main() function...

I realize I can do this without the recursion but I would like to know how to do it with recursion if possible.

package main

import (
    "fmt"
    //"os"
)

func recursive(num int, div int) int {

    if div == 1 {
        fmt.Println(num)
        return num
    }
    switch num % div {
    case 0:
        recursive(num, div-1)
    default:
        return -1
    }
    return num
}

func main() {
    for i := 20; ; i += 20 {
        if recursive(i, 19) == 1 {
            fmt.Println("finished")
        }
    }
}

图片转代码服务由CSDN问答提供 功能建议

学习golang,比例欧拉问题5。我正在使用递归函数,却找不到一种方法 以获得正确的返回值。

我无法在 five()函数末尾取出返回值,也无法使其返回正确的值来执行if main()函数中的语句...

我意识到我可以在没有递归的情况下做到这一点,但是我想知道如何在递归的情况下做到这一点

 包main 
 
import(
“ fmt” 
 //“ os” 
)
 
func递归(num int,div int)  int {
 
,如果div == 1 {
 fmt.Println(num)
返回num 
} 
切换num%div {
情况0:
递归(num,div-1)\  n默认值:
返回-1 
} 
返回num 
} 
 
func main(){
 for i:= 20;  ;  i + = 20 {
如果递归(i,19)== 1 {
 fmt.Println(“ finished”)
} 
} 
} 
   
 <  / DIV>
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题