提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
Rust语言基础知识点总览
1. 变量与数据类型
变量声明
Rust中的变量通过let
关键字声明,且默认是不可变的。使用mut
关键字可以声明可变变量。
rust
let x = 5; // 不可变变量
let mut y = 10; // 可变变量
y = 20; // 修改可变变量的值
数据类型
Rust是静态类型语言,常见的数据类型包括整数、浮点数、布尔值、字符和字符串等。
rust
let a: i32 = 42; // 32位有符号整数
let b: f64 = 3.14; // 64位浮点数
let is_true: bool = true;
let ch: char = 'A';
let str: &str = "Hello, Rust!";
2. 函数
定义函数
Rust中的函数使用fn
关键字定义。
rust
fn greet(name: &str) -> String {
format!("Hello, {}!", name)
}
fn main() {
let message = greet("World");
println!("{}", message); // 输出: Hello, World!
}
控制流
Rust支持if
、else if
、else
、loop
、while
、for
等控制流语句。
rust
fn main() {
let number = 4;
if number % 2 == 0 {
println!("{} is even", number);
} else {
println!("{} is odd", number);
}
for i in 1..=5 {
println!("{}", i);
}
}
3. 结构体与枚举
结构体
结构体是用户定义的数据类型,可以包含多个字段。
rust
struct Person {
name: String,
age: u32,
}
fn main() {
let person = Person {
name: String::from("Alice"),
age: 30,
};
println!("Name: {}, Age: {}", person.name, person.age);
}
枚举
枚举用于表示一组可能的值。
rust
enum IpAddr {
V4(String),
V6(String),
}
fn main() {
let home = IpAddr::V4(String::from("127.0.0.1"));
let loopback = IpAddr::V6(String::from("::1"));
match home {
IpAddr::V4(address) => println!("IPv4 address: {}", address),
IpAddr::V6(address) => println!("IPv6 address: {}", address),
}
}
4. 模块与包
模块
模块用于组织代码,避免命名冲突。
rust
mod math {
fn add(a: i32, b: i32) -> i32 {
a + b
}
pub fn subtract(a: i32, b: i32) -> i32 {
a - b
}
}
fn main() {
println!("10 - 5 = {}", math::subtract(10, 5));
}
包
包是Rust项目的构建块,使用Cargo管理。
5. 错误处理
Result类型
Rust使用Result
枚举来处理可能的错误。
rust
use std::fs::File;
fn read_file(filename: &str) -> Result<String, std::io::Error> {
let mut file = File::open(filename)?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
Ok(contents)
}
fn main() {
match read_file("example.txt") {
Ok(contents) => println!("File contents: {}", contents),
Err(e) => println!("Error: {}", e),
}
}
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,自学记录Rust语言基础知识点总览。