首页 > 解决方案 > Swift根据条件在函数中返回不同类型的值

问题描述

我是 Swift 新手,有一个小问题。

我想构建一个函数,它可以根据条件返回不同类型的值。我应该使用什么返回类型?下面是函数。我用 ”??” 作为占位符。任何人都可以帮助更改“??” 有正确的返回类型??谢谢!!

fun Req_amt() -> ?? {
    if let input_amt = readLine() {
        if let amount = Float(input_amt) {
            return amount
        } else {
            return "Bad number."
        }
    } else {
        return "Bad input."
    }
}

标签: swiftfunctionif-statementreturn-type

解决方案


通常,您可以返回一个Float?withnil来表示错误,或者您可以返回一个 Float but withthrows并抛出一个错误以提供进一步的特定信息,例如“错误数字”或“错误输入”。听起来后者就是你想要的。


推荐阅读