小示例
这里有一个 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
,它有着格式化相关的微型语言的规则。学生熟悉搜索标准库是非常重要的。