Swift 预期返回的函数中缺少返回';Int';-最大公约数

Swift 预期返回的函数中缺少返回';Int';-最大公约数,swift,xcode,return,func,Swift,Xcode,Return,Func,这是我的代码: 导入UIKit func gcd(a:Int,b:Int)->(Int){ 如果a==b{ 归还 }否则,如果a>b{ gcd(a-b,b) }否则{ gcd(a,b-a) } } gcd(9,6) 算法的工作原理如下: 9 6. 3. 6. 3. 3. 在最后两种情况下,您没有返回return func gcd(_ a: Int, _ b: Int) -> Int { if a == b { return a } else if a >

这是我的代码:

导入UIKit
func gcd(a:Int,b:Int)->(Int){
如果a==b{
归还
}否则,如果a>b{
gcd(a-b,b)
}否则{
gcd(a,b-a)
}
}
gcd(9,6)
算法的工作原理如下:

9 6. 3. 6. 3. 3.
在最后两种情况下,您没有返回
return

func gcd(_ a: Int, _ b: Int) -> Int {
    if a == b {
       return a
    } else if a > b {
       return gcd(a - b, b)
    } else {
       return gcd(a, b - a)
    }
}
召唤

print(gcd(9, 6))

您最好仔细阅读错误消息,有时它非常具有描述性,可以引导您找到答案Single liner
b==0?a:gcd(b,a%b)
或者在你的帖子中使用相同的逻辑
a==b?a:a>b?gcd(a-b,b):gcd(a,b-a)