三元表达式和 switch 表达式
无需冗长的 if 链即可简洁地选择值
三元表达式和 switch 表达式 是 CoddyKit 上的免费 Dart Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Dart Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Dart Academy 课程共包含 4 节课。
简洁地选择值
冗长的 if 链可能会让代码变得杂乱。Dart 提供了更简短的方式,根据条件选择值。让我们来认识它们。✂️
三元运算符
三元运算符的形式是 condition ? valueIfTrue : valueIfFalse。它是一种紧凑的 if-else,可以产生两个值中的一个。
String label = isOn ? "On" : "Off";三元运算符返回值
与普通的 if 不同,三元运算符是一个表达式,因此您可以直接将它放入变量、参数或 return 中。
int max = a > b ? a : b;保持三元运算符简单
三元运算符适合进行一次快速选择。如果您开始深层嵌套三元运算符,请改用 if-else 或 switch,以保持可读性。
var fee = isMember ? 0 : 10;有多个情况时
如果要根据一个值产生两个以上的结果,使用分支表达式比堆叠很长的 else if 分支更清晰。
分支表达式
现代分支表达式使用 => 将值与模式进行匹配,并返回结果。请注意,这里不需要 break。
var name = switch (day) {
1 => "Mon",
2 => "Tue",
};使用 _ 表示默认情况
使用通配符 _ 作为兜底情况。当其他情况都不匹配时,它就会执行,从而让分支完整且安全。
var s = switch (code) {
200 => "OK",
_ => "Other",
};分支表达式也会返回值
和三元运算符一样,分支表达式也会产生一个值。您可以直接赋值其结果,而不必修改变量。
String icon = switch (status) {
"win" => "🏆",
_ => "❓",
};匹配多个值
在一个情况中使用 || 组合多个选择,让几个输入共享同一个结果。这样可以将相关情况放在一起。
var kind = switch (n) {
1 || 2 || 3 => "low",
_ => "high",
};三元运算符与分支表达式
恰好有两个结果时,请使用三元运算符;当一个值可能对应多个结果时,请使用分支表达式。
简洁且易读
使用得当时,三元运算符和分支表达式可以用几乎像普通英语一样易读的代码,替代臃肿的 if 链。🎯
快速检查
Dart 中正确的三元运算符语法是哪一种?
回顾
现在您可以快速选择值:使用三元运算符处理两个结果,使用分支表达式处理多个结果,而且两者都会返回一个值。🎉
常见问题解答
「三元表达式和 switch 表达式」课时是免费的吗?
是的 — 「三元表达式和 switch 表达式」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Dart Academy 课程的其余内容,请升级到 CoddyKit PRO。 Dart Academy 课程共包含 4 节课。
「三元表达式和 switch 表达式」这节课中我会学到什么?
无需冗长的 if 链即可简洁地选择值 你通过在浏览器中直接运行的动手代码来练习 Dart Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Dart Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Dart Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「三元表达式和 switch 表达式」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Dart Academy 课中编写并运行代码吗?
能。每节 Dart Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 布尔值和比较运算符
- if、else if 和 else
- 逻辑运算符和短路求值
- 三元表达式和 switch 表达式