Swift中`let`和`var`有什么区别?何时使用哪个?
大家好!我刚开始学习Swift,遇到一个困扰所有新手的基本问题。我无法完全理解`let`和`var`的区别。
我了解到`let`是常量,`var`是变量。但在实践中我遇到了困惑。例如,我写了这样的代码:
```swift
var myName = "阿列克谢"
myName = "伊万"
print(myName) // 输出"伊万"——这很清楚,是变量
```
但后来我尝试用`let`做同样的事:
```swift
let myAge = 25
myAge = 30 // 错误:Cannot assign to value: 'myAge' is a 'let' constant
```
这里很合理——编译器报错。但接着我了解到`let`在首次使用前可以未定义。我尝试这样做:
```swift
let userName: String
// 一些代码...
userName = "彼得" // 这能行?
```
居然成功了!那意义何在?为什么不能总是用`var`?尤其让我困惑的是,在Stack Overflow和官方示例中...