守卫不退出功能
Guard does not exit function
这可能是一个非常愚蠢的问题,但请耐心等待:
据我了解,在阅读了其他网站上的文档和各种示例后,guard
语句检查了一个布尔值。如果为真,则当前作用域继续执行。如果不是,则执行 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"
您正在防范 name == "Hans"
的情况
把你的反面改成在防护罩里面,印刷品应该替换反面
这可能是一个非常愚蠢的问题,但请耐心等待:
据我了解,在阅读了其他网站上的文档和各种示例后,guard
语句检查了一个布尔值。如果为真,则当前作用域继续执行。如果不是,则执行 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"
您正在防范 name == "Hans"
的情况把你的反面改成在防护罩里面,印刷品应该替换反面