Rust 中的泛型是一种强大的编程特性,它允许你编写能够处理多种数据类型的代码,而不失去类型安全性。通过泛型,你可以编写更加灵活和可复用的代码。

在 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