首页 > 解决方案 > 我在哪里将 return 放在函数中?

问题描述

我的代码返回 2 个错误,都是未解析的标识符。我查了一下什么意思,大多数查询答案都说我需要先声明常量,但我已经这样做了。

我对编码很陌生,每次遇到这个问题都是因为我忘记声明常量或变量,我会发现我的错误,但我被这个问题难住了。

var counter = 2

func fibonacci(_ x:Int ) -> Int {
    var a = 1
    var b = 1
    if counter < x {
        let sum = a + b
        a = b
        b = sum
        counter += 1


    }
    print(sum)
    return sum
}


fibonacci(5)

标签: swiftreturn-value

解决方案


我敢打赌,您会希望counter在函数范围内定义(将其作为参数传递可能没有意义),然后在语句sum范围之外定义,如下所示:if

func fibonacci(_ x:Int ) -> Int {
    var a = 1
    var b = 1
    var sum = 0
    var counter = 0

    if counter < x {
        sum = a + b
        a = b
        b = sum
        counter += 1
    }
    print(sum)
    return sum
}

推荐阅读