- 生成不同步幅的数组:使用stride(from:to:by:)或者stride(from:through:by:)
- 使用if进行条件判断并赋值给常量:如果常量可能为nil,需要显示声明
- Value Bindings:switch可以给匹配到的值命名为一个临时的变量或者常量,以供匹配到的case内部使用
- Where:switch可以使用where在case中检查额外的条件
- 复合cases:可以换行,且可以结合value bindings使用
- Fallthrough: Swift中的switch会在匹配到相应模式后立马跳出switch而不会继续往下执行。如果需要匹配到case后继续执行可以使用fallthrough关键字。
- Labeled Statements:针对嵌套的循环或者条件语句,使用标签更加明确的说明要进行continue和break的statements。
- Guard: guard后面的表达式必须为真才会执行,否则就执行else的语句。guard后面必须有一个else语句。
- 延迟行动:使用defer使语句在当前scope的最后执行。defer后的语句除了碰到runtime error或者crash其他情况下都会执行,因此很适合写一些必须要执行的清理代码。如果有多个defer语句,第一个写的最后执行。