1. 安装 Rust
首先,你需要安装 Rust 编程语言。可以在 [Rust 官方网站](https://www.rust-lang.org/learn/get-started) 上找到适用于你操作系统的安装说明。通常,你可以使用 rustup 工具来安装 Rust。
2. Hello, World!
创建一个简单的 "Hello, World!" 程序,以确保 Rust 安装成功。
// main.rs
fn main() {
println!("Hello, World!");
}
运行程序:
$ cargo run
3. Rust 基本语法
- 变量和数据类型
let x = 5; // 不可变变量
let mut y = 10; // 可变变量
let a: i32 = 42; // 指定类型
- 函数
fn add(x: i32, y: i32) -> i32 {
x + y
}
- 结构体和枚举
// 结构体
struct Point {
x: f64,
y: f64,
}
// 枚举
enum Color {
Red,
Green,
Blue,
}
- 模式匹配
match color {
Color::Red => println!("It's red!"),
Color::Green => println!("It's green!"),
Color::Blue => println!("It's blue!"),
}
4. 所有权系统
Rust 的所有权系统是其独特的特性之一,用于管理内存。阅读关于所有权、借用和生命周期的文档。
- 所有权
let s1 = String::from("hello");
let s2 = s1; // 所有权转移
- 借用
fn print_length(s: &str) {
println!("Length: {}", s.len());
}
let s = String::from("hello");
print_length(&s); // 借用
5. Lifetimes(生命周期)
Rust 中的生命周期用于确保引用的有效性。
fn longest<'a>(s1: &'a str, s2: &'a str) -> &'a str {
if s1.len() > s2.len() {
s1
} else {
s2
}
}
6. 错误处理
Rust 使用 Result 和 Option 类型来处理错误。Result 用于返回可能失败的操作的结果,而 Option 用于表示可能不存在的值。
fn divide(x: f64, y: f64) -> Result<f64, &'static str> {
if y == 0.0 {
Err("Cannot divide by zero.")
} else {
Ok(x / y)
}
}
let result = divide(10.0, 2.0);
match result {
Ok(value) => println!("Result: {}", value),
Err(error) => println!("Error: {}", error),
}
7. 并发
Rust 内建了轻量级的线程(std::thread)和消息传递通道(std::sync::mpsc)来支持并发编程。
use std::thread;
use std::sync::mpsc;
fn main() {
let (sender, receiver) = mpsc::channel();
let handle = thread::spawn(move || {
sender.send("Hello from the thread!").unwrap();
});
let message = receiver.recv().unwrap();
println!("{}", message);
handle.join().unwrap();
}
8. Cargo 构建工具
Rust 使用 Cargo 作为其构建工具和包管理器。Cargo 使得项目的构建、依赖管理和测试变得简单。
- 创建新项目:
$ cargo new my_project
- 构建项目:
$ cd my_project
$ cargo build
- 运行测试:
$ cargo test
转载请注明出处:http://www.zyzy.cn/article/detail/13713/Rust