在Apple的Swift语言中let和var有什么区别?
在我的理解,它是一个编译语言,但它不检查类型在编译时。它让我困惑。编译器如何知道类型错误?如果编译器不检查类型,是不是生产环境的问题?
let关键字定义了一个常量:
let theAnswer = 42
后来不能更改答案。 < – 这就是为什么任何可选或弱不能使用let写。他们需要在运行时更改,必须使用var。
var定义了一个普通变量:
有趣的是:
The value of a constant doesn’t need to be known at compile time,but you must assign it a value exactly once.
另一个奇怪的功能:
You can use almost any character you like for constant and variable
names,including Unicode characters:
let ?? = "dogcow"
摘自:Apple Inc.“Swift编程语言”iBooks。 https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=881256329
编辑
因为评论要求添加其他事实的答案,将此转换为community wiki answer.随意编辑答案,使它更好。