swift中`let`和`var`有什么区别?

在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.随意编辑答案,使它更好。

转载注明原文:swift中`let`和`var`有什么区别? - 代码日志