swift - 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."
}
}
解决方案
通常,您可以返回一个Float?
withnil
来表示错误,或者您可以返回一个 Float but withthrows
并抛出一个错误以提供进一步的特定信息,例如“错误数字”或“错误输入”。听起来后者就是你想要的。
推荐阅读
- html - 当其他 col-6 隐藏在小屏幕上时,使 col-6 占据整行
- sql - SQL:查询列(字符串)为日期
- reactjs - 将字符串传递给 React 函数
- r - 如何在 R 中使用 svSocket 服务器读取传入消息
- pandas - Pandas - 计算不包括当前行的组的滚动平均值
- c - 如何检查命令行中的输入是C中的整数?
- arangodb - 在 ArangoDB 中何时使用 RocksDB 以及何时使用 MMFiles 存储引擎?
- json - 无法将大型 JSON 文件上传到 Firebase 实时数据库
- javascript - 在 chrome 扩展中使用现有的 SVM 分类器(用 python 创建)的可能性?
- node.js - HEROKU 和 HAPIJS 错误 R10(启动超时)-> Web 进程未能在启动后 60 秒内绑定到 $PORT