<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>2 语言指南 on 编程那些事儿</title><link>https://before80.github.io/prgms/Swift/language/languageguide/</link><description>Recent content in 2 语言指南 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 13 Sep 2026 18:20:56 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Swift/language/languageguide/index.xml" rel="self" type="application/rss+xml"/><item><title>2.1 基础</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.1-TheBasics/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.1-TheBasics/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/thebasics/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/thebasics/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="21-基础"&gt;2.1 基础&lt;/h1&gt;
&lt;p&gt;使用常见的数据类型，并掌握最基本的语法。&lt;/p&gt;
&lt;p&gt;Swift 提供了许多基本数据类型，包括表示整数的 &lt;code&gt;Int&lt;/code&gt;、表示浮点值的 &lt;code&gt;Double&lt;/code&gt;、表示布尔值的 &lt;code&gt;Bool&lt;/code&gt; 以及表示文本的 &lt;code&gt;String&lt;/code&gt;。Swift 还提供了三种主要集合类型的强化版本：&lt;code&gt;Array&lt;/code&gt;、&lt;code&gt;Set&lt;/code&gt; 和 &lt;code&gt;Dictionary&lt;/code&gt;，详见&lt;a href="../2.4-CollectionTypes/"&gt;集合类型&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>2.2 基本运算符</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.2-BasicOperators/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.2-BasicOperators/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/basicoperators/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/basicoperators/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="22-基本运算符"&gt;2.2 基本运算符&lt;/h1&gt;
&lt;p&gt;完成赋值、算术、比较之类的运算。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;运算符&lt;/em&gt;是用来检查、修改或组合值的特殊符号或短语。例如，加法运算符（&lt;code&gt;+&lt;/code&gt;）把两个数相加，如 &lt;code&gt;let i = 1 + 2&lt;/code&gt;；逻辑与运算符（&lt;code&gt;&amp;amp;&amp;amp;&lt;/code&gt;）把两个布尔值组合起来，如 &lt;code&gt;if enteredDoorCode &amp;amp;&amp;amp; passedRetinaScan&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>2.3 字符串与字符</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.3-StringsAndCharacters/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.3-StringsAndCharacters/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/stringsandcharacters/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/stringsandcharacters/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="23-字符串与字符"&gt;2.3 字符串与字符&lt;/h1&gt;
&lt;p&gt;存储和操作文本。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;字符串&lt;/em&gt;是一系列字符，例如 &lt;code&gt;&amp;quot;hello, world&amp;quot;&lt;/code&gt; 或 &lt;code&gt;&amp;quot;albatross&amp;quot;&lt;/code&gt;。Swift 字符串用 &lt;code&gt;String&lt;/code&gt; 类型表示。&lt;code&gt;String&lt;/code&gt; 的内容可以用多种方式访问，包括当作 &lt;code&gt;Character&lt;/code&gt; 值的集合来访问。&lt;/p&gt;</description></item><item><title>2.4 集合类型</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.4-CollectionTypes/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.4-CollectionTypes/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/collectiontypes/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/collectiontypes/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="24-集合类型"&gt;2.4 集合类型&lt;/h1&gt;
&lt;p&gt;用数组、集合和字典来组织数据。&lt;/p&gt;
&lt;p&gt;Swift 提供了三种主要&lt;em&gt;集合类型&lt;/em&gt;：数组（array）、集合（set）和字典（dictionary），用来存放值的集合。数组是有序的值的集合；集合是无序且不重复的值的集合；字典是无序的键值关联的集合。&lt;/p&gt;</description></item><item><title>2.5 控制流</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.5-ControlFlow/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.5-ControlFlow/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/controlflow/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/controlflow/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="25-控制流"&gt;2.5 控制流&lt;/h1&gt;
&lt;p&gt;用分支、循环和提前退出来组织代码。&lt;/p&gt;
&lt;p&gt;Swift 提供了多种控制流语句，包括用于多次完成某项任务的 &lt;code&gt;while&lt;/code&gt; 循环；用于根据特定条件执行不同代码分支的 &lt;code&gt;if&lt;/code&gt;、&lt;code&gt;guard&lt;/code&gt; 和 &lt;code&gt;switch&lt;/code&gt; 语句；以及把执行流程转移到代码中另一个位置的 &lt;code&gt;break&lt;/code&gt;、&lt;code&gt;continue&lt;/code&gt; 之类的语句。Swift 提供的 &lt;code&gt;for&lt;/code&gt;-&lt;code&gt;in&lt;/code&gt; 循环让遍历数组、字典、范围、字符串和其他序列变得轻而易举。Swift 还提供了 &lt;code&gt;defer&lt;/code&gt; 语句，用来包裹在离开当前作用域时要执行的代码。&lt;/p&gt;</description></item><item><title>2.6 函数</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.6-Functions/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.6-Functions/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/functions/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/functions/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="26-函数"&gt;2.6 函数&lt;/h1&gt;
&lt;p&gt;定义和调用函数，为它们的实参添加标签，并使用它们的返回值。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;函数&lt;/em&gt;是完成特定任务的独立代码片段。你给函数起一个名字，用来标明它的功能；需要时用这个名字&amp;quot;调用&amp;quot;函数来完成它的任务。&lt;/p&gt;</description></item><item><title>2.7 闭包</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.7-Closures/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.7-Closures/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/closures/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/closures/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="27-闭包"&gt;2.7 闭包&lt;/h1&gt;
&lt;p&gt;把一起执行的代码组合起来，而不必创建有名字的函数。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;闭包&lt;/em&gt;是可以四处传递、在代码中使用的一段独立功能。Swift 中的闭包与其他编程语言中的闭包、匿名函数、lambda 和代码块相似。&lt;/p&gt;</description></item><item><title>2.8 枚举</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.8-Enumerations/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.8-Enumerations/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/enumerations/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/enumerations/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="28-枚举"&gt;2.8 枚举&lt;/h1&gt;
&lt;p&gt;为用户自定义类型建模，用它们定义一组可能的取值。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;枚举&lt;/em&gt;为一组相关的值定义了一个公共类型，让你能在代码中以类型安全的方式使用这些值。&lt;/p&gt;</description></item><item><title>2.9 结构体与类</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.9-ClassesAndStructures/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.9-ClassesAndStructures/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/classesandstructures/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/classesandstructures/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="29-结构体与类"&gt;2.9 结构体与类&lt;/h1&gt;
&lt;p&gt;为用户自定义类型建模，用它们封装数据。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;结构体&lt;/em&gt;和&lt;em&gt;类&lt;/em&gt;是通用而灵活的构造，是程序代码的组成部分。你可以用定义常量、变量和函数时相同的语法，为结构体和类定义属性和方法，从而赋予它们功能。&lt;/p&gt;</description></item><item><title>2.10 属性</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.10-Properties/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.10-Properties/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/properties/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/properties/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="210-属性"&gt;2.10 属性&lt;/h1&gt;
&lt;p&gt;访问属于实例或类型的存储值与计算值。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;属性&lt;/em&gt;把值与特定的类、结构体或枚举关联起来。存储属性把常量和变量值作为实例的一部分存放起来，而计算属性则是计算出一个值（而不是存放它）。计算属性由类、结构体和枚举提供；存储属性只由类和结构体提供。&lt;/p&gt;</description></item><item><title>2.11 方法</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.11-Methods/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.11-Methods/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/methods/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/methods/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="211-方法"&gt;2.11 方法&lt;/h1&gt;
&lt;p&gt;定义和调用属于实例或类型的函数。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;方法&lt;/em&gt;是与某个特定类型关联的函数。类、结构体和枚举都可以定义实例方法，用来封装处理该类型实例的特定任务与功能；它们也都可以定义类型方法，类型方法与类型本身相关联。类型方法类似 Objective-C 中的类方法。&lt;/p&gt;</description></item><item><title>2.12 下标</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.12-Subscripts/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.12-Subscripts/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/subscripts/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/subscripts/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="212-下标"&gt;2.12 下标&lt;/h1&gt;
&lt;p&gt;访问集合中的元素。&lt;/p&gt;
&lt;p&gt;类、结构体和枚举都可以定义&lt;em&gt;下标&lt;/em&gt;，用它作为访问集合、列表或序列中成员元素的快捷方式。你可以用下标按索引设置和获取值，而不必为设置和获取分别定义方法。例如，你用 &lt;code&gt;someArray[index]&lt;/code&gt; 访问 &lt;code&gt;Array&lt;/code&gt; 实例中的元素，用 &lt;code&gt;someDictionary[key]&lt;/code&gt; 访问 &lt;code&gt;Dictionary&lt;/code&gt; 实例中的元素。&lt;/p&gt;</description></item><item><title>2.13 继承</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.13-Inheritance/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.13-Inheritance/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/inheritance/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/inheritance/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="213-继承"&gt;2.13 继承&lt;/h1&gt;
&lt;p&gt;用子类添加或覆盖功能。&lt;/p&gt;
&lt;p&gt;一个类可以&lt;em&gt;继承&lt;/em&gt;另一个类的方法、属性及其他特性。当一个类继承另一个类时，继承的类称为&lt;em&gt;子类&lt;/em&gt;，被继承的类称为它的&lt;em&gt;父类&lt;/em&gt;。继承是区分 Swift 中类与其他类型的一项基本行为。&lt;/p&gt;</description></item><item><title>2.14 初始化</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.14-Initialization/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.14-Initialization/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/initialization/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/initialization/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="214-初始化"&gt;2.14 初始化&lt;/h1&gt;
&lt;p&gt;为类型的存储属性设置初始值，并执行一次性的准备工作。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;初始化&lt;/em&gt;是为类、结构体或枚举的实例做好使用准备的过程：它涉及为该实例的每个存储属性设置初始值，并执行新实例投入使用前所需的其他设置或初始化工作。&lt;/p&gt;</description></item><item><title>2.15 反初始化</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.15-Deinitialization/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.15-Deinitialization/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/deinitialization/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/deinitialization/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="215-反初始化"&gt;2.15 反初始化&lt;/h1&gt;
&lt;p&gt;释放需要自定义清理的资源。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;反初始化器&lt;/em&gt;在类实例被释放之前立即调用。反初始化器用 &lt;code&gt;deinit&lt;/code&gt; 关键字书写，就像构造器用 &lt;code&gt;init&lt;/code&gt; 关键字书写一样。反初始化器只对类类型可用。&lt;/p&gt;</description></item><item><title>2.16 可选链</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.16-OptionalChaining/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.16-OptionalChaining/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/optionalchaining/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/optionalchaining/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="216-可选链"&gt;2.16 可选链&lt;/h1&gt;
&lt;p&gt;无需解包即可访问可选值的成员。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;可选链&lt;/em&gt;是在一个当前可能为 &lt;code&gt;nil&lt;/code&gt; 的可选值上查询和调用属性、方法及下标的过程。如果可选值包含值，属性、方法或下标的调用就会成功；如果可选值是 &lt;code&gt;nil&lt;/code&gt;，调用就返回 &lt;code&gt;nil&lt;/code&gt;。多个查询可以串联起来，只要链条中有一环是 &lt;code&gt;nil&lt;/code&gt;，整条链就会优雅地失败。&lt;/p&gt;</description></item><item><title>2.17 错误处理</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.17-ErrorHandling/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.17-ErrorHandling/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/errorhandling/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/errorhandling/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="217-错误处理"&gt;2.17 错误处理&lt;/h1&gt;
&lt;p&gt;对错误做出响应并从中恢复。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;错误处理&lt;/em&gt;是响应并恢复程序错误状况的过程。Swift 对在运行时抛出、捕获、传播和操作可恢复错误提供了一等支持。&lt;/p&gt;</description></item><item><title>2.18 并发</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.18-Concurrency/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.18-Concurrency/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/concurrency/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/concurrency/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="218-并发"&gt;2.18 并发&lt;/h1&gt;
&lt;p&gt;执行异步操作。&lt;/p&gt;
&lt;p&gt;Swift 内置了对以结构化方式编写异步和并行代码的支持。&lt;em&gt;异步代码&lt;/em&gt;可以被挂起并在之后恢复，尽管同一时刻只有一段程序在执行。程序中的代码被挂起和恢复，使它能够在处理网络取数据、解析文件这类长时间运行的操作的同时，继续推进更新界面之类的短期操作。&lt;em&gt;并行代码&lt;/em&gt;意味着多段代码同时运行——例如，一台四核处理器的电脑可以同时运行四段代码，每个核心执行其中一个任务。使用并行和异步代码的程序同时执行多个操作，并会把等待外部系统的操作挂起。本章其余部分用&lt;em&gt;并发&lt;/em&gt;一词来指代异步代码与并行代码的这种常见组合。&lt;/p&gt;</description></item><item><title>2.19 宏</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.19-Macros/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.19-Macros/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/macros/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/macros/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="219-宏"&gt;2.19 宏&lt;/h1&gt;
&lt;p&gt;用宏在编译期生成代码。&lt;/p&gt;
&lt;p&gt;宏在编译源代码时对代码进行变换，让你不必手写重复的代码。编译期间，Swift 会在照常构建代码之前展开代码中的宏。&lt;/p&gt;</description></item><item><title>2.20 类型转换</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.20-TypeCasting/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.20-TypeCasting/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/typecasting/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/typecasting/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="220-类型转换"&gt;2.20 类型转换&lt;/h1&gt;
&lt;p&gt;确定值的运行时类型，并为它提供更具体的类型信息。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;类型转换&lt;/em&gt;是一种检查实例类型的方式，也可以把实例当作它所在类层级中另一个父类或子类来处理。&lt;/p&gt;</description></item><item><title>2.21 嵌套类型</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.21-NestedTypes/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.21-NestedTypes/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/nestedtypes/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/nestedtypes/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="221-嵌套类型"&gt;2.21 嵌套类型&lt;/h1&gt;
&lt;p&gt;在另一个类型的作用域内定义类型。&lt;/p&gt;
&lt;p&gt;枚举常常是为支持某个特定类或结构体的功能而创建的。类似地，把工具性结构体纯粹定义在某个更复杂类型的上下文中使用，或者定义通常与某个特定类型搭配使用的协议，也都很方便。为此，Swift 允许你定义&lt;em&gt;嵌套类型&lt;/em&gt;，把枚举、结构体和协议这类辅助类型嵌套在它们所支持的那个类型的定义之中。&lt;/p&gt;</description></item><item><title>2.22 扩展</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.22-Extensions/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.22-Extensions/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/extensions/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/extensions/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="222-扩展"&gt;2.22 扩展&lt;/h1&gt;
&lt;p&gt;为已有的类型添加功能。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;扩展&lt;/em&gt;为已有的类、结构体、枚举或协议类型添加新功能。这包括为那些你无法访问其原始源代码的类型添加功能（称为&lt;em&gt;追溯建模&lt;/em&gt;）。扩展与 Objective-C 中的分类（category）相似。（与 Objective-C 的分类不同，Swift 扩展没有名字。）&lt;/p&gt;</description></item><item><title>2.23 协议</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.23-Protocols/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.23-Protocols/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/protocols/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/protocols/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="223-协议"&gt;2.23 协议&lt;/h1&gt;
&lt;p&gt;定义遵循类型必须实现的要求。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;协议&lt;/em&gt;为适合某项任务或某段功能的方法、属性及其他要求定义了一份蓝图。随后类、结构体或枚举可以&lt;em&gt;采纳&lt;/em&gt;该协议，为这些要求提供实际实现。任何满足协议要求的类型都称为&lt;em&gt;遵循&lt;/em&gt;该协议。&lt;/p&gt;</description></item><item><title>2.24 泛型</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.24-Generics/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.24-Generics/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/generics/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/generics/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="224-泛型"&gt;2.24 泛型&lt;/h1&gt;
&lt;p&gt;编写适用于多种类型的代码，并为这些类型指定要求。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;泛型代码&lt;/em&gt;让你能够编写灵活、可复用的函数和类型，它们在你定义的要求下可以处理任何类型。你可以写出避免重复的代码，并以清晰、抽象的方式表达意图。&lt;/p&gt;</description></item><item><title>2.25 不透明类型与装箱协议类型</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.25-OpaqueTypes/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.25-OpaqueTypes/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/opaquetypes/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/opaquetypes/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="225-不透明类型与装箱协议类型"&gt;2.25 不透明类型与装箱协议类型&lt;/h1&gt;
&lt;p&gt;隐藏关于值的类型的实现细节。&lt;/p&gt;
&lt;p&gt;Swift 提供了两种隐藏值的类型细节的方式：不透明类型和装箱协议类型。在模块与调用该模块的代码之间的边界上，隐藏类型信息很有用，因为返回值的底层类型可以保持私有。&lt;/p&gt;</description></item><item><title>2.26 自动引用计数</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.26-AutomaticReferenceCounting/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.26-AutomaticReferenceCounting/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/automaticreferencecounting/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/automaticreferencecounting/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="226-自动引用计数"&gt;2.26 自动引用计数&lt;/h1&gt;
&lt;p&gt;为对象的生命周期及它们之间的关系建模。&lt;/p&gt;
&lt;p&gt;Swift 使用&lt;em&gt;自动引用计数&lt;/em&gt;（ARC）来跟踪和管理应用的内存占用。大多数情况下，这意味着在 Swift 中内存管理&amp;quot;自然就能工作&amp;quot;，你不需要自己操心内存管理：当类实例不再需要时，ARC 会自动释放它们占用的内存。&lt;/p&gt;</description></item><item><title>2.27 内存安全</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.27-MemorySafety/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.27-MemorySafety/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/memorysafety/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/memorysafety/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="227-内存安全"&gt;2.27 内存安全&lt;/h1&gt;
&lt;p&gt;合理安排代码结构，避免访问内存时发生冲突。&lt;/p&gt;
&lt;p&gt;默认情况下，Swift 会阻止代码中发生不安全的行为。例如，Swift 确保变量在使用之前已经初始化、内存被释放之后不会再被访问，并且数组下标会做越界检查。&lt;/p&gt;</description></item><item><title>2.28 访问控制</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.28-AccessControl/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.28-AccessControl/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/accesscontrol/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/accesscontrol/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="228-访问控制"&gt;2.28 访问控制&lt;/h1&gt;
&lt;p&gt;按声明、文件和模块管理代码的可见性。&lt;/p&gt;
&lt;p&gt;&lt;em&gt;访问控制&lt;/em&gt;限制其他源文件和模块中的代码对代码某些部分的访问。这一特性让你能够隐藏代码的实现细节，并指定访问和使用这些代码所经由的首选接口。&lt;/p&gt;</description></item><item><title>2.29 高级运算符</title><link>https://before80.github.io/prgms/Swift/language/languageguide/2.29-AdvancedOperators/</link><pubDate>Fri, 11 Sep 2026 20:00:03 +0800</pubDate><guid>https://before80.github.io/prgms/Swift/language/languageguide/2.29-AdvancedOperators/</guid><description>&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://docs.swift.org/latest/documentation/the-swift-programming-language/advancedoperators/"&gt;https://docs.swift.org/latest/documentation/the-swift-programming-language/advancedoperators/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="229-高级运算符"&gt;2.29 高级运算符&lt;/h1&gt;
&lt;p&gt;定义自定义运算符、执行按位运算，以及使用构建器语法。&lt;/p&gt;
&lt;p&gt;除了&lt;a href="../2.2-BasicOperators/"&gt;基本运算符&lt;/a&gt;中介绍的运算符，Swift 还提供了若干执行更复杂取值操作的高级运算符，其中包括你在 C 和 Objective-C 中熟悉的全部按位运算符和移位运算符。&lt;/p&gt;</description></item></channel></rss>