【发布时间】:2018-10-05 13:30:01
【问题描述】:
有人可以解释一下 Swift 中的以下行为吗?
func test() -> Bool {
print("1 before return")
return false
print("1 after return")
}
func test2() {
print("2 before return")
return
print("2 after return")
}
test()
test2()
返回:
1 before return
2 before return
2 after return
我希望print("2 after return") 永远不会被执行,因为它在return 语句之后。
我有什么遗漏吗?
(使用 Swift 4 / 4.1 和 Xcode 9.2 / Xcode 9.3 beta 2 测试)
【问题讨论】:
-
嗯,这真的很奇怪。但是,如果我在 test2 中添加分号后返回,则不会打印“返回后 2”。但正如你所说,它根本不应该被打印出来。
标签: swift