swift - 预期返回“字符串”的函数中缺少返回
问题描述
我正在为 BMI 计算器编写快速代码,为什么会发生错误“在预期返回 'String' 的函数中缺少返回”?有谁可以解释这个的原因?谢谢!
func bmiCalculator (weight: Double, height: Double) -> String {
let bmi = weight / (height * height)
if bmi > 25 {
return "Your BMI is \(bmi). You are overweight"
} else if bmi >= 18.5 && bmi <= 25 {
return "Your BMI is \(bmi). You are at a normal weight"
} else if bmi < 18.5 {
return "Your BMI is \(bmi). You are underweight"
}
}
print(bmiCalculator(weight: 70, height: 1.74))
我希望 Xcode 游乐场将根据最后一行的体重和身高值计算 BMI,但它显示错误“预期返回'String'的函数中缺少返回”
解决方案
尽管看起来您已经完全覆盖了此处的值,因此实际上不可能进行任何其他操作,但正在检查语法而没有完全分析上下文。它希望仍然能够确定它的所有返回都以String
结果结尾。
func bmiCalculator (weight: Double, height: Double) -> String {
let bmi = weight / (height * height)
if bmi > 25 {
return "Your BMI is \(bmi). You are overweight"
} else if bmi < 18.5 {
return "Your BMI is \(bmi). You are underweight"
}
return "Your BMI is \(bmi). You are at a normal weight"
}