在没有for循环的情况下,如何在Go中实现与以下python代码相同的事情?
def test(i):
if i == 0:
return None
else:
print(i)
return test(i - 1)
答案 0 :(得分:2)
python函数从不返回值:
func test(i int) {
if i==0 {
return
}
fmt.Println(i)
test(i-1)
}
答案 1 :(得分:0)
使用第二个返回值指示该函数返回了一个有效值:
func test(i int) (int, bool) {
if i == 0 {
return 0, false
}
fmt.Println(i)
return test(i - 1)
}
在此特定示例中,顶级调用者的返回值始终为0, false
。鉴于此,不需要返回值。
func test(i int) {
if i == 0 {
return
}
fmt.Println(i)
test(i - 1)
}