我有一个简短的问题。为什么我不能在if语句中更改var Test的值?
if Status == 1{
var Test = 1
}
else{
var Test = 2
}
println(Test) // Error: Use of unresolved identifier 'Test'
答案 0 :(得分:6)
因为Test
超出了您的范围。 Test
在两个不同的if(){}
范围内定义。
在Test
范围之外声明if()
将允许您在更广泛的范围内访问它。
var Test :Int
if Status == 1{
Test = 1
}
else{
Test = 2
}
println(Test)
编辑:无法推断出未声明的变量(Test),因此建议指定变量类型(:= Int表示整数)。如果存在任何其他类型的值,则会显示错误。