【发布时间】:2020-12-05 09:13:13
【问题描述】:
假设一个返回函数:
func check(scores: [Int]) -> Bool {
for score in scores {
if score < 80 {
return false
}
}
return true
}
上面的代码完美运行。但是下面的代码没有。弹出一个错误说:在预期返回“布尔”的函数中缺少返回。我很清楚这个错误,但我不知道为什么它会在这里弹出:
func check(scores: [Int]) -> Bool {
for score in scores {
if score < 80 {
return false
}
else {
return true
}
}
}
为什么'return false'可以在if条件{}内,但'return true'不能在else {}内,必须完全在for循环之外......?我特别问这个问题,因为下面的代码完美运行,并且'return true'在 else {}
func isPassingGrade(for scores: [Int]) -> Bool {
var total = 0
for score in scores {
total += score
}
if total >= 500 {
return true
} else {
return false
}
}
任何见解都受到高度赞赏和亲切的问候。
【问题讨论】:
标签: swift function for-loop if-statement swift5