
Swift基础知识完整教程let、var、类型别名与集合字面量详解【免费下载链接】the-swift-programming-language-in-chinese中文版 Apple 官方《Swift 编程语言》项目地址: https://gitcode.com/gh_mirrors/th/the-swift-programming-language-in-chinese学习Swift 基础知识从分清let常量、var变量到会用typealias类型别名和数组、集合、字典三种集合字面量是每一位 Swift 初学者的必修课。本文基于 Apple 官方《Swift 编程语言》中文版本仓库提供简体中文翻译源码用最小的代码量带你快速掌握这些核心概念看完即可动手写出规范的 Swift 入门代码。一、Swift 基础知识从中文版官方文档读起本仓库是《The Swift Programming Language》的简体中文翻译采用 DocC 构建文档总览入口在 The-Swift-Programming-Language.md。与本文相关的两份核心文档文档内容TheBasics.md常量和变量、类型注解、类型别名、元组、可选CollectionTypes.md数组、集合、字典及各类字面量写法 提示翻译时遵循了 Style.md 中的术语规范比如typealias译作类型别名、literal译作字面量阅读时可与术语对照。二、let 与 var 快速上手常量还是变量Swift 用let声明常量赋值后不可更改用var声明变量可随时修改。官方文档给出了最经典的登录次数示例TheBasics.md#L23-L26let maximumNumberOfLoginAttempts 10 var currentLoginAttempt 0一句话口诀值不会变用let值会变才用var。✅几个容易踩坑的细节一行声明多个变量var x 0.0, y 0.0, z 0.0中间用逗号隔开类型注解var welcomeMessage: String中冒号表示…类型的…但实践中 Swift 几乎总能从初始值自动推断类型很少需要手写命名很自由let π 3.14159、let 你好 你好世界都合法但变量名不能以数字开头常量真的改不了对let声明的值再次赋值会直接编译报错编译器会贴心提示change let to var to make it mutable。⚠️ 新手常犯错误把不变的配置写成var。官方建议是只要代码中的某个存储值不会改变就请用let声明为常量这样代码更安全、更清晰。三、typealias 类型别名详解让类型名更贴近业务类型别名用于给现有类型起一个更适合上下文的替代名称用typealias关键字定义。官方文档的示例TheBasics.md#L715-L744typealias AudioSample UInt16 var maxAmplitudeFound AudioSample.min // maxAmplitudeFound 现在为 0这里AudioSample就是UInt16的别名调用AudioSample.min实际就是调用UInt16.min。什么时候该用当你处理源自外部的特定大小数据时AudioSample、ImageChannel这类业务化命名比裸写UInt16可读性强得多。注意类型别名不会创建新类型它只是同一类型换个叫法。四、集合字面量写法全解数组、集合、字典三种速记法Swift 的三大集合类型各有专属的速记写法——字面量是 Swift 基础中最省代码的部分。4.1 数组字面量方括号 逗号数组是有序、可重复的值列表。字面量写法就是一对方括号 逗号分隔的值CollectionTypes.md#L153-L197var shoppingList: [String] [Eggs, Milk] // 也可省略类型靠推断var shoppingList [Eggs, Milk]4.2 用数组字面量初始化集合集合Set是无序、不重复的值集合。可以直接借用数组字面量来初始化但必须显式声明类型SetCollectionTypes.md#L566-L604var favoriteGenres: SetString [Rock, Classical, Hip hop]4.3 字典字面量键值对 冒号**字典Dictionary**存储无序的键值对键和值之间用冒号分隔CollectionTypes.md#L941-L987var airports: [String: String] [YYZ: Toronto Pearson, DUB: Dublin]4.4 空集合速查表集合类型空字面量含义数组[]空数组上下文已知类型时集合Array()/Set()显式构造集合无法从[]推断类型字典[:]空字典上下文已知类型时 记忆技巧字面量类型能否省略看上下文能否推断。数组、字典通常可以省略类型集合必须写出Set...。五、收尾把 let、var、类型别名与字面量串起来把前面四节组合成一个真实小场景——记录一次音频采样代码几乎零样板typealias AudioSample UInt16 // 类型别名业务化命名 let sampleCount 16_000 // let不变的常量下划线提高可读性 var maxAmplitude: AudioSample 0 // var会变化的变量 var tags: SetString [vocal, guitar] // 集合字面量核心要点回顾不变的用let要变的用var类型交给推断typealias只起别名不造新类型数组字面量[...]、字典字面量[key: value]、空字面量[]/[:]能省则省深入阅读请继续 TheBasics.md 与 CollectionTypes.md进阶章节如 ControlFlow.md控制流也都在本仓库中全部免费。【免费下载链接】the-swift-programming-language-in-chinese中文版 Apple 官方《Swift 编程语言》项目地址: https://gitcode.com/gh_mirrors/th/the-swift-programming-language-in-chinese创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考