简短示例

以下是一个简短的 Rust 示例程序

fn main() {              // 程序入口
    let mut x: i32 = 6;  // 可变变量绑定
    print!("{x}");       // 与 printf 类似的输出宏
    while x != 1 {       // 表达式周围没有括号
        if x % 2 == 0 {  // 与其他语言类似的数值计算
            x = x / 2;
        } else {
            x = 3 * x + 1;
        }
        print!(" -> {x}");
    }
    println!();
}

这段代码实现了 Collatz 猜想:猜想认为该循环总是会结束,但该猜想还没有被证明。可以编辑代码来尝试不同的输入。

关键点:

  • 说明所有变量的类型都是静态的。尝试删除 i32 来触发类型推断。尝试使用 i8 来触发运行时整数溢出。

  • let mut x 改为 let x,讨论出现的编译错误。

  • 展示 print! 在参数与格式字符串不匹配时产生的编译错误。

  • 展示如何使用 {} 作为占位符,来输出比单个变量更复杂的表达式。

  • 向学生展示标准库,展示如何搜索 std::fmt,其中包含用于格式化字符串的微型语言规则。要点是让学生熟悉在标准库中搜索的过程。

    • 在 shell 中,运行“rustup doc std::fmt”会在浏览器中打开本地 std::fmt 文档