let 与 var:常量和变量
理解 Swift 中使用 let 实现不可变性、使用 var 实现可变性
let 与 var:常量和变量 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 4 节课。
欢迎
在 Swift 中,您使用的每个值要么是*常量*,要么是*变量*。正确选择它们,是让代码更安全、更易理解的首要习惯之一。
使用 let 声明常量
使用 `let` 声明常量。赋值后,其值永远不会改变:
```swift
let appName = "CoddyKit"
let maxScore = 100
```
编译器会强制执行这一规则——尝试重新赋值会导致编译错误。
使用 var 声明变量
使用 `var` 声明值可以更新的变量:
```swift
var score = 0
score = 42
score += 10
```
变量非常适合表示会随时间变化的状态。
为什么优先使用 let
Swift 建议默认使用 `let`,只有在需要修改值时才切换到 `var`。这样可以避免意外更改,并帮助编译器优化代码。
命名规则与约定
按照惯例,Swift 标识符使用 *camelCase*:
```swift
let playerName = "Alice"
var currentLevel = 1
```
名称区分大小写:`score` 和 `Score` 是不同的标识符。
重新赋值给 let——编译器错误
这段代码无法编译:
```swift
let pi = 3.14159
pi = 3.0 // ❌ cannot assign to value: 'pi' is a 'let' constant
```
Swift 会在编译时捕获这个错误,早在应用运行之前就会发现。
在一行中声明多个值
您可以一次声明多个常量或变量:
```swift
let x = 5, y = 10, z = 15
var a = 1, b = 2
```
请保持这种写法简洁;当名称或值较复杂时,为了清晰起见,最好分成多行。
延迟初始化
`let` 常量不需要立即赋值——您可以稍后为它赋值一次:
```swift
let finalScore: Int
if condition {
finalScore = 100
} else {
finalScore = 0
}
```
编译器会确保它在使用前恰好被赋值一次。
打印常量和变量
使用 `print()` 和字符串插值来显示值:
```swift
let name = "Swift"
var version = 5
print("Language: \(name), version: \(version)")
```
`\(...)` 语法可以将任意表达式直接嵌入字符串中。
实践示例:游戏状态
一个实际示例:
```swift
let playerName = "Alice" // won't change
var lives = 3 // changes as game progresses
var score = 0
lives -= 1
score += 250
```
尽可能使用 `let`,可以向未来阅读代码的人表明您的意图。
快速检查
哪个关键字声明的值在**赋值后不能**更改?
回顾
要点:
• `let` → 常量,赋值后不可变
• `var` → 变量,可以重新赋值
• 优先使用 `let`;只有确实需要修改时才切换到 `var`
• 两者都使用 camelCase 命名,也都可以稍后初始化(let 只能初始化一次)
接下来:Swift 如何自动推断类型。
常见问题解答
「let 与 var:常量和变量」课时是免费的吗?
是的 — 「let 与 var:常量和变量」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 4 节课。
「let 与 var:常量和变量」这节课中我会学到什么?
理解 Swift 中使用 let 实现不可变性、使用 var 实现可变性 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Swift Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「let 与 var:常量和变量」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Swift Academy 课中编写并运行代码吗?
能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。