<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>第20章 高级特性 on 编程那些事儿</title><link>https://before80.github.io/prgms/Rust/trpl/advanced-features/</link><description>Recent content in 第20章 高级特性 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Tue, 11 Aug 2026 23:57:44 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Rust/trpl/advanced-features/index.xml" rel="self" type="application/rss+xml"/><item><title>20.1 不安全的 Rust</title><link>https://before80.github.io/prgms/Rust/trpl/advanced-features/01-unsafe-rust/</link><pubDate>Wed, 05 Aug 2026 08:44:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/trpl/advanced-features/01-unsafe-rust/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/stable/book/"&gt;The Rust Programming Language&lt;/a&gt;（rustc 1.97.1）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="rust"&gt;不安全的 Rust&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/stable/book/ch20-01-unsafe-rust.html"&gt;https://doc.rust-lang.org/stable/book/ch20-01-unsafe-rust.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="不安全-rust"&gt;不安全 Rust&lt;/h2&gt;
&lt;p&gt;　　目前为止讨论过的代码都有 Rust 在编译时会强制执行的内存安全保证。然而，Rust 还隐藏有第二种语言，它不会强制执行这类内存安全保证：这被称为 &lt;strong&gt;不安全 Rust&lt;/strong&gt;（&lt;em&gt;unsafe Rust&lt;/em&gt;）。它与常规 Rust 代码无异，但是会提供额外的超能力。&lt;/p&gt;</description></item><item><title>20.2 高级 Trait</title><link>https://before80.github.io/prgms/Rust/trpl/advanced-features/02-advanced-traits/</link><pubDate>Wed, 05 Aug 2026 08:44:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/trpl/advanced-features/02-advanced-traits/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/stable/book/"&gt;The Rust Programming Language&lt;/a&gt;（rustc 1.97.1）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="trait"&gt;高级 Trait&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/stable/book/ch20-02-advanced-traits.html"&gt;https://doc.rust-lang.org/stable/book/ch20-02-advanced-traits.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="advanced-traits"&gt;高级 trait&lt;/h2&gt;
&lt;p&gt;　　在第十章 &lt;a href="../../generics/02-traits/"&gt;「使用 trait 定义共享行为」&lt;/a&gt; 一节，我们第一次接触 trait，不过当时还没有讨论更高级的细节。现在你对 Rust 已经了解更多了，我们可以来深入探究这些细枝末节。&lt;/p&gt;</description></item><item><title>20.3 高级类型</title><link>https://before80.github.io/prgms/Rust/trpl/advanced-features/03-advanced-types/</link><pubDate>Wed, 05 Aug 2026 08:44:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/trpl/advanced-features/03-advanced-types/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/stable/book/"&gt;The Rust Programming Language&lt;/a&gt;（rustc 1.97.1）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="高级类型"&gt;高级类型&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/stable/book/ch20-03-advanced-types.html"&gt;https://doc.rust-lang.org/stable/book/ch20-03-advanced-types.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="高级类型-1"&gt;高级类型&lt;/h2&gt;
&lt;p&gt;　　Rust 的类型系统有一些我们曾经提到但尚未讨论过的特性。首先我们将从一般意义上讨论 newtype 并探讨它们作为类型为何有用。接着会转向类型别名（type aliases），一个类似于 newtype 但有着稍微不同的语义的功能。我们还会讨论 &lt;code&gt;!&lt;/code&gt; 类型和动态大小类型。&lt;/p&gt;</description></item><item><title>20.4 高级函数与闭包</title><link>https://before80.github.io/prgms/Rust/trpl/advanced-features/04-advanced-functions-and-closures/</link><pubDate>Wed, 05 Aug 2026 08:44:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/trpl/advanced-features/04-advanced-functions-and-closures/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/stable/book/"&gt;The Rust Programming Language&lt;/a&gt;（rustc 1.97.1）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="高级函数与闭包"&gt;高级函数与闭包&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/stable/book/ch20-04-advanced-functions-and-closures.html"&gt;https://doc.rust-lang.org/stable/book/ch20-04-advanced-functions-and-closures.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="高级函数与闭包-1"&gt;高级函数与闭包&lt;/h2&gt;
&lt;p&gt;　　本部分将探索一些有关函数和闭包的高级特性，这包括函数指针以及返回闭包。&lt;/p&gt;
&lt;h3 id="函数指针"&gt;函数指针&lt;/h3&gt;
&lt;p&gt;　　我们讨论过了如何向函数传递闭包；也可以将普通函数传递给函数！这个技术在我们希望传递已经定义的函数而不是重新定义闭包作为参数时很有用。函数会被强制转换为 &lt;code&gt;fn&lt;/code&gt; 类型（小写的 f），不要与闭包 trait 的 &lt;code&gt;Fn&lt;/code&gt; 相混淆。&lt;code&gt;fn&lt;/code&gt; 被称为 &lt;strong&gt;函数指针&lt;/strong&gt;（&lt;em&gt;function pointer&lt;/em&gt;）。通过函数指针允许我们使用函数作为其它函数的参数。&lt;/p&gt;</description></item><item><title>20.5 宏</title><link>https://before80.github.io/prgms/Rust/trpl/advanced-features/05-macros/</link><pubDate>Wed, 05 Aug 2026 08:44:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/trpl/advanced-features/05-macros/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/stable/book/"&gt;The Rust Programming Language&lt;/a&gt;（rustc 1.97.1）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="宏"&gt;宏&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/stable/book/ch20-05-macros.html"&gt;https://doc.rust-lang.org/stable/book/ch20-05-macros.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="macros"&gt;宏&lt;/h2&gt;
&lt;p&gt;　　我们已经在本书中使用过像 &lt;code&gt;println!&lt;/code&gt; 这样的宏了，不过尚未深入探讨什么是宏以及它是如何工作的。&lt;strong&gt;宏&lt;/strong&gt;（&lt;em&gt;Macro&lt;/em&gt;）指的是 Rust 中一系列的功能：使用 &lt;code&gt;macro_rules!&lt;/code&gt; 的 &lt;strong&gt;声明宏&lt;/strong&gt;（&lt;em&gt;declarative macro&lt;/em&gt;），和三种 &lt;strong&gt;过程宏&lt;/strong&gt;（&lt;em&gt;procedural macro&lt;/em&gt;）：&lt;/p&gt;</description></item></channel></rss>