在 Rust 中,你可以使用泛型定义函数、结构体、枚举和方法。以下是一些基本的泛型用法:
泛型函数
fn print_generic<T>(value: T) {
println!("Value is: {}", value);
}
fn main() {
print_generic(42);
print_generic("Hello, Rust!");
}
在上述例子中,print_generic 是一个泛型函数,可以接受任意类型的参数。
泛型结构体
struct Point<T> {
x: T,
y: T,
}
fn main() {
let integer_point = Point { x: 5, y: 10 };
let float_point = Point { x: 1.5, y: 3.0 };
}
在这个例子中,Point 结构体是一个泛型结构体,可以用于存储任意类型的坐标。
泛型枚举
enum Result<T, E> {
Ok(T),
Err(E),
}
fn divide(x: f64, y: f64) -> Result<f64, &'static str> {
if y != 0.0 {
Result::Ok(x / y)
} else {
Result::Err("Division by zero")
}
}
fn main() {
match divide(8.0, 4.0) {
Result::Ok(result) => println!("Result: {}", result),
Result::Err(error) => println!("Error: {}", error),
}
}
在这个例子中,Result 是一个泛型枚举,用于表示可能的成功或失败结果。
这只是 Rust 泛型的基础,你可以在更复杂的代码中看到更多高级的用法,比如 trait 和生命周期参数。泛型是 Rust 中强大的工具之一,可以帮助你编写更加通用和安全的代码。
转载请注明出处:http://www.pingtaimeng.com/article/detail/6801/Rust