Mar*_*dor -1 guard control-flow swift
这可能是一个非常愚蠢的问题,但请耐心等待:根据我的理解,在阅读其他网站上的文档和各种示例后,guard语句会检查一个bool.如果是,则当前范围继续执行.如果没有,else则执行该子句.这里应该使用一个return语句来退出当前范围.然而,这对我不起作用.
基本上:为什么不return退出这个功能?
class Person {
var name: String
init (name: String) {
self.name = name
}
func reverseNameUnlessItsHans() {
guard name == "Hans" else { //should exit the scope...
print("It's Hans")
return
}
self.name = String(name.characters.reversed()) //...yet this is executed
}
}
var myPerson = Person(name: "Hans")
myPerson.reverseNameUnlessItsHans()
print(myPerson.name) //prints "snaH"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |