有人可以帮我解释一下Swift中这些关键字之间的区别吗?
continue
break
fallthrough
throw
return
答案 0 :(得分:38)
继续强>
continue语句结束循环语句当前迭代的程序执行,但不会停止循环语句的执行。
var sum = 0;
for var i = 0 ; i < 5 ; i++ {
if i == 4 {
continue //this ends this iteration of the loop
}
sum += i //thus, 0, 1, 2, and 3 will be added to this, but not 4
}
<强>中断:强>
break语句结束循环,if语句或switch语句的程序执行。
var sum = 0;
for var i = 0 ; i < 5 ; i++ {
if i == 2 {
break //this ends the entire loop
}
sum += i //thus only 0 and 1 will be added
}
<强>下通强>
一个fallthrough语句导致程序执行从switch语句中的一个case继续到下一个case。
var sum = 0
var i = 3
switch i {
case 1:
sum += i
case 2:
sum += i
case 3:
sum += i
fallthrough //allows for the next case to be evaluated
case i % 3:
sum += i
}
<强>率测定:强>
使用throw语句抛出错误。
你可能会抛出类似下面的错误,说明由于资金不足,还需要五个硬币。
throw VendingMachineError.InsufficientFunds(coinsNeeded: 5)
<强>返回:强>
返回语句出现在函数或方法定义的主体中,并导致程序执行返回到调用函数或方法。
func myMethod(){
newMethod()
}
func newMethod(){
var sum = 0;
sum += 2;
if sum > 1 {
return //jumps back to myMethod()
}
sum += 3; //this statement will never be executed
}
返回也可用于从函数返回值。
func myFunc() {
let value = newFunc() //assigns 5 to "value"
}
func newFunc() -> Int {
return 5
}