变量与解构
字符串使用双引号 "" 而不是单引号 '',Rust 中单引号是留给单个字符类型(char)使用的 Rust 使用 {} 来作为格式化输出占位符,其它语言可能使用的是 %s,%d,%p 等,由于 println! 会自动推导出具体的类型,因此无需手动指定
变量
rust
let x = 5;//不可变
let mut x = 5;//可变
常量
rust
const MAX_POINTS: u32 = 100_000;
使用下划线开头忽略未使用的变量,变量可以覆盖;
解构
rust
let (a, mut b): (bool,bool) = (true, false);
解构赋值
rust
struct Struct {
e: i32
}
fn main() {
let (a, b, c, d, e);
(a, b) = (1, 2);
// _ 代表匹配一个值,但是我们不关心具体的值是什么,因此没有使用一个变量名而是使用了 _
[c, .., d, _] = [1, 2, 3, 4, 5];
Struct { e, .. } = Struct { e: 5 };
assert_eq!([1, 2, 1, 4, 5], [a, b, c, d, e]);
}
注释
rust
// 这是第一种注释方式
/* 这是第二种注释方式 */
/*
* 多行注释
* 多行注释
* 多行注释
*/
猜数字小游戏
rust
use rand::Rng;
use std::io;
fn main() {
let mut rng = rand::thread_rng();
let secret_number = rng.gen_range(1..=100).to_string();
// 输入的字符
let mut guess = String::new();
println!("生成的随机数为: {}", secret_number);
// 生成标题
println!("请输入内容:");
io::stdin()
.read_line(&mut guess)
.expect("获取数字失败了");
let guess = guess.trim();
if guess == &secret_number {
println!("猜对了: {}, {}", guess, secret_number);
} else {
println!("猜错了: {}", guess);
}
}