<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://www.zhuzhugst.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://www.zhuzhugst.com/feed.php">
        <title>张叶安的博客 - rust</title>
        <description></description>
        <link>https://www.zhuzhugst.com/</link>
        <image rdf:resource="https://www.zhuzhugst.com/lib/exe/fetch.php?media=logo.png" />
       <dc:date>2026-07-25T18:31:17+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:%E9%97%AD%E5%8C%85%E8%BF%AD%E4%BB%A3%E5%99%A8%E4%B8%8E%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F&amp;rev=1781509459&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:%E6%B5%8B%E8%AF%95%E4%B8%8E%E9%AB%98%E6%95%88%E5%AE%9E%E8%B7%B5&amp;rev=1781509471&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86&amp;rev=1781509446&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:%E6%B3%9B%E5%9E%8B%E4%B8%8Etrait&amp;rev=1781509430&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:%E7%BB%93%E6%9E%84%E4%BD%93%E6%9E%9A%E4%B8%BE%E4%B8%8E%E6%A8%A1%E5%BC%8F%E5%8C%B9%E9%85%8D&amp;rev=1781509404&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:%E6%8E%A7%E5%88%B6%E6%B5%81&amp;rev=1781509362&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E4%B8%8E%E5%87%BD%E6%95%B0&amp;rev=1781509348&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:%E6%89%80%E6%9C%89%E6%9D%83%E7%B3%BB%E7%BB%9F&amp;rev=1781509375&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:%E5%BC%95%E7%94%A8%E5%80%9F%E7%94%A8%E4%B8%8E%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F&amp;rev=1781509390&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%8E%E9%9B%86%E5%90%88%E7%B1%BB%E5%9E%8B&amp;rev=1781509417&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:hello_world%E4%B8%8E%E5%8F%98%E9%87%8F%E7%BB%91%E5%AE%9A&amp;rev=1781509312&amp;do=diff"/>
                <rdf:li rdf:resource="https://www.zhuzhugst.com/doku.php?id=rust:rust%E4%BB%8B%E7%BB%8D%E4%B8%8E%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA&amp;rev=1781509297&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://www.zhuzhugst.com/lib/exe/fetch.php?media=logo.png">
        <title>张叶安的博客</title>
        <link>https://www.zhuzhugst.com/</link>
        <url>https://www.zhuzhugst.com/lib/exe/fetch.php?media=logo.png</url>
    </image>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:%E9%97%AD%E5%8C%85%E8%BF%AD%E4%BB%A3%E5%99%A8%E4%B8%8E%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F&amp;rev=1781509459&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:44:19+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>闭包迭代器与模块系统</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:%E9%97%AD%E5%8C%85%E8%BF%AD%E4%BB%A3%E5%99%A8%E4%B8%8E%E6%A8%A1%E5%9D%97%E7%B3%BB%E7%BB%9F&amp;rev=1781509459&amp;do=diff</link>
        <description>闭包、迭代器与模块系统

闭包（Closure）

闭包是可以捕获环境的匿名函数。

闭包语法


fn main() {
    // 完整语法
    let add_one = |x: i32| -&gt; i32 { x + 1 };

    // 简写（省略类型注解）
    let add_two = |x| x + 2;

    // 多行闭包
    let multiply = |x, y| {
        let result = x * y;
        println!(&quot;{} x {} = {}&quot;, x, y, result);
        result
    };

    println!(&quot;{}&quot;, add_one(5));   // 6
    println!(&quot;{}&quot;, add_two(5));   // 7
    println!(&quot;{}&quot;, multiply(3, 4)); // 12
}…</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:%E6%B5%8B%E8%AF%95%E4%B8%8E%E9%AB%98%E6%95%88%E5%AE%9E%E8%B7%B5&amp;rev=1781509471&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:44:31+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>测试与高效实践</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:%E6%B5%8B%E8%AF%95%E4%B8%8E%E9%AB%98%E6%95%88%E5%AE%9E%E8%B7%B5&amp;rev=1781509471&amp;do=diff</link>
        <description>测试与高效 Rust 实践

编写测试

Rust 内置测试框架，无需额外依赖。

测试注解


#[cfg(test)]
mod tests {
    #[test]
    fn it_works() {
        let result = 2 + 2;
        assert_eq!(result, 4);
    }

    #[test]
    fn it_fails() {
        panic!(&quot;这个测试会失败&quot;);
    }
}</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86&amp;rev=1781509446&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:44:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>错误处理</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:%E9%94%99%E8%AF%AF%E5%A4%84%E7%90%86&amp;rev=1781509446&amp;do=diff</link>
        <description>错误处理

Rust 的错误哲学

Rust 将错误分为两类：

	*  可恢复的错误 - 使用 Result&lt;T, E&gt;
	*  不可恢复的错误 - 使用 panic!

panic! 宏

panic! 用于遇到无法处理的错误时终止程序：


fn main() {
    panic!(&quot;程序发生了严重错误！崩溃！&quot;);
    // 后续代码不会执行
}</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:%E6%B3%9B%E5%9E%8B%E4%B8%8Etrait&amp;rev=1781509430&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:43:50+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>泛型与trait</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:%E6%B3%9B%E5%9E%8B%E4%B8%8Etrait&amp;rev=1781509430&amp;do=diff</link>
        <description>泛型与 Trait

泛型（Generics）

泛型允许编写适用于多种类型的代码，避免重复。

泛型函数


fn largest&lt;T&gt;(list: &amp;[T]) -&gt; &amp;T {
    let mut largest = &amp;list[0];
    for item in list {
        if item &gt; largest { // 这里需要 PartialOrd 约束
            largest = item;
        }
    }
    largest
}

fn main() {
    let numbers = vec![34, 50, 25, 100, 65];
    println!(&quot;最大: {}&quot;, largest(&amp;numbers));

    let chars = vec![&#039;y&#039;, &#039;m&#039;, &#039;a&#039;, &#039;q&#039;];
    println!(&quot;最大: {}&quot;, largest(&amp;chars));
}…</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:%E7%BB%93%E6%9E%84%E4%BD%93%E6%9E%9A%E4%B8%BE%E4%B8%8E%E6%A8%A1%E5%BC%8F%E5%8C%B9%E9%85%8D&amp;rev=1781509404&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:43:24+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>结构体枚举与模式匹配</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:%E7%BB%93%E6%9E%84%E4%BD%93%E6%9E%9A%E4%B8%BE%E4%B8%8E%E6%A8%A1%E5%BC%8F%E5%8C%B9%E9%85%8D&amp;rev=1781509404&amp;do=diff</link>
        <description>结构体、枚举与模式匹配

结构体（Struct）

定义结构体


struct User {
    username: String,
    email: String,
    sign_in_count: u64,
    active: bool,
}


创建实例


fn main() {
    let user = User {
        username: String::from(&quot;小明&quot;),
        email: String::from(&quot;xiaoming@example.com&quot;),
        sign_in_count: 1,
        active: true,
    };
}</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:%E6%8E%A7%E5%88%B6%E6%B5%81&amp;rev=1781509362&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:42:42+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>控制流</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:%E6%8E%A7%E5%88%B6%E6%B5%81&amp;rev=1781509362&amp;do=diff</link>
        <description>控制流

条件判断：if / else if / else


fn main() {
    let score = 85;

    if score &gt;= 90 {
        println!(&quot;优秀&quot;);
    } else if score &gt;= 60 {
        println!(&quot;及格&quot;);
    } else {
        println!(&quot;不及格&quot;);
    }
}


if 是表达式</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E4%B8%8E%E5%87%BD%E6%95%B0&amp;rev=1781509348&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:42:28+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>数据类型与函数</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E4%B8%8E%E5%87%BD%E6%95%B0&amp;rev=1781509348&amp;do=diff</link>
        <description>数据类型与函数

原生数据类型

整数类型
 长度  有符号  无符号  8位  i8  u8  16位  i16  u16  32位  i32  u32  64位  i64  u64  128位  i128  u128  架构相关  isize  usize 
默认整数类型是 i32。


let a: i8 = -128;         // -128 到 127
let b: u8 = 255;           // 0 到 255
let c = 42;                // 默认 i32
let d: i64 = 9_223_372_036_854_775_807; // 下划线提高可读性
let e: usize = 10;         // 指针宽度，用于索引</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:%E6%89%80%E6%9C%89%E6%9D%83%E7%B3%BB%E7%BB%9F&amp;rev=1781509375&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:42:55+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>所有权系统</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:%E6%89%80%E6%9C%89%E6%9D%83%E7%B3%BB%E7%BB%9F&amp;rev=1781509375&amp;do=diff</link>
        <description>第5章：所有权系统

什么是所有权？

所有权（Ownership）是 Rust 最独特的特性，它让 Rust 无需垃圾回收器即可保证内存安全。所有权的三条规则：
1. Rust 中的每个值都有一个**所有者**变量
2. 同一时间只能有一个所有者
3. 当所有者离开作用域，值被自动释放</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:%E5%BC%95%E7%94%A8%E5%80%9F%E7%94%A8%E4%B8%8E%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F&amp;rev=1781509390&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:43:10+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>引用借用与生命周期</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:%E5%BC%95%E7%94%A8%E5%80%9F%E7%94%A8%E4%B8%8E%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F&amp;rev=1781509390&amp;do=diff</link>
        <description>引用、借用与生命周期

引用和借用

引用（Reference） 允许在不转移所有权的情况下访问值。创建引用称为借用（Borrowing）。

不可变引用


fn main() {
    let s = String::from(&quot;hello&quot;);

    fn len(s: &amp;String) -&gt; usize {
        s.len() // 借用 s，不拥有所有权
    } // s 没有释放

    let length = len(&amp;s);
    println!(&quot;&#039;{}&#039; 的长度是 {}&quot;, s, length); // s 仍然可用
}</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%8E%E9%9B%86%E5%90%88%E7%B1%BB%E5%9E%8B&amp;rev=1781509417&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:43:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>字符串与集合类型</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%8E%E9%9B%86%E5%90%88%E7%B1%BB%E5%9E%8B&amp;rev=1781509417&amp;do=diff</link>
        <description>字符串与集合类型

字符串类型

Rust 中有两种主要的字符串类型：String 和 &amp;str。

&amp;str：字符串切片

&amp;str 是对字符串数据的不可变引用，通常称为“字符串切片”。


fn main() {
    // 字符串字面量是 &amp;str
    let s: &amp;str = &quot;hello&quot;;

    // 从 String 取切片
    let string = String::from(&quot;hello world&quot;);
    let slice = &amp;string[0..5]; // &amp;str 类型
}</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:hello_world%E4%B8%8E%E5%8F%98%E9%87%8F%E7%BB%91%E5%AE%9A&amp;rev=1781509312&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:41:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>hello_world与变量绑定</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:hello_world%E4%B8%8E%E5%8F%98%E9%87%8F%E7%BB%91%E5%AE%9A&amp;rev=1781509312&amp;do=diff</link>
        <description>Hello World 与变量绑定

第一个 Rust 程序

创建一个新项目：


cargo new hello_world
cd hello_world


打开 src/main.rs，编写代码：


fn main() {
    println!(&quot;Hello, World!&quot;);
}


运行：


cargo run


代码解读

	*  fn 关键字声明函数</description>
    </item>
    <item rdf:about="https://www.zhuzhugst.com/doku.php?id=rust:rust%E4%BB%8B%E7%BB%8D%E4%B8%8E%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA&amp;rev=1781509297&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2026-06-15T07:41:37+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rust介绍与环境搭建</title>
        <link>https://www.zhuzhugst.com/doku.php?id=rust:rust%E4%BB%8B%E7%BB%8D%E4%B8%8E%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA&amp;rev=1781509297&amp;do=diff</link>
        <description>Rust 介绍与环境搭建

Rust 是什么？

Rust 是一门现代系统编程语言，由 Mozilla 开发，注重 安全、速度 和 并发。它的核心承诺是：在不使用垃圾回收器（GC）的前提下保证内存安全。

Rust 适用于：操作系统、设备驱动、嵌入式系统、WebAssembly、游戏引擎、网络服务等场景。</description>
    </item>
</rdf:RDF>
