1. 变量和数据类型:
let x = 5; // 不可变变量
let mut y = 10; // 可变变量
let z: f64 = 3.14; // 显式指定数据类型
2. 函数:
fn add(a: i32, b: i32) -> i32 {
a + b
}
let result = add(2, 3);
3. 控制流:
if x > 0 {
println!("正数");
} else if x < 0 {
println!("负数");
} else {
println!("零");
}
let number = match x {
1 => "一个",
2 => "两个",
_ => "其他",
};
4. 循环:
for num in 1..=5 {
println!("{}", num);
}
while y > 0 {
println!("{}", y);
y -= 1;
}
5. 结构体和枚举:
struct Point {
x: f64,
y: f64,
}
let origin = Point { x: 0.0, y: 0.0 };
enum Direction {
Up,
Down,
Left,
Right,
}
6. 所有权系统:
let s1 = String::from("Hello");
let s2 = s1; // s1 的所有权转移到 s2
// println!("{}", s1); // 错误,s1 已经失去所有权
let s3 = s2.clone(); // 克隆字符串,重新分配内存
7. 引用和借用:
fn calculate_length(s: &String) -> usize {
s.len()
}
let len = calculate_length(&s3);
转载请注明出处:http://www.pingtaimeng.com/article/detail/13717/Rust