为什么Swift允许这样做:
// Swift 1.2, Xcode 6.4, OS X 10.10.4
// Running within an iOS App, not a Playground
func wtf() {
var String = 3
var Int = "3a"
println(String) // outputs 3
println(Int) // outputs 3a
println(Int.toInt()) // outputs nil; clearly acting as a String
// var x: String = "abc" // Not OK: 'String' is not a type
}
类型和变量绑定可以相互干扰吗?甚至是基本类型?
答案 0 :(得分:0)
在“真实”环境(非Playground)中,我在第1行收到错误消息 - > 在声明之前使用局部变量'Int'
如果我注释掉第1行,代码会编译并在添加行以打印x
和y
之后
Swift.String
3
Optional(3)
abc
abc