Kia*_*oss 1 if-statement swift
我有以下代码:
let FOO = true
if (FOO) {
let BAR = "Off"
} else {
let BAR = "On"
}
print(BAR)
Run Code Online (Sandbox Code Playgroud)
我的问题是print(BAR)返回错误的行:
使用未解析的标识符'BAR'
从我所看到的,没有理由这个代码不应该编译吗?BAR始终会创建常量,因此始终可以打印到控制台.
范围BAR仅限于if/else以后您不能在代码中引用它.
但你可以做到
let foo = true
let bar: String
if (foo) {
bar = "Off"
} else {
bar = "On"
}
print(bar)
Run Code Online (Sandbox Code Playgroud)
编译器能够实现bar仅在使用前分配一次,因此这将编译得很好.
| 归档时间: |
|
| 查看次数: |
1884 次 |
| 最近记录: |