let和varApple的Swift语言有什么区别?
let
var
以我的理解,它是一种编译语言,但它不会在编译时检查类型。这让我感到困惑。编译器如何知道类型错误?如果编译器不检查类型,那么生产环境是否存在问题?
的let关键字定义一个常数:
let theAnswer = 42
在theAnswer无法改变之后。这就是为什么weak不能使用编写任何内容的原因let。它们需要在运行时进行 更改 ,而您必须在使用它们var。
theAnswer
weak
在var定义了一个普通变量。
有趣的是:
常量的值 不需要在编译时就知道 ,但是您必须精确地分配一次值。
另一个奇怪的功能:
对于常量和变量名称,几乎可以使用任何喜欢的字符,包括Unicode字符:
let 🐶🐮 = "dogcow"
摘自:Apple Inc.“ Swift编程语言”。iBooks。https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=881256329
因为评论要求在答案中添加其他事实,所以将其转换为社区Wiki答案。随意编辑答案以使其更好。