泛型基础 #
一、泛型函数 #
rust
fn largest<T: PartialOrd>(list: &[T]) -> &T {
let mut largest = &list[0];
for item in list {
if item > largest {
largest = item;
}
}
largest
}
fn main() {
let numbers = vec![1, 2, 3, 4, 5];
println!("最大: {}", largest(&numbers));
let chars = vec!['a', 'b', 'c'];
println!("最大: {}", largest(&chars));
}
二、泛型结构体 #
rust
struct Point<T> {
x: T,
y: T,
}
impl<T> Point<T> {
fn x(&self) -> &T {
&self.x
}
}
fn main() {
let integer = Point { x: 5, y: 10 };
let float = Point { x: 1.0, y: 4.0 };
}
三、泛型枚举 #
rust
enum Option<T> {
Some(T),
None,
}
enum Result<T, E> {
Ok(T),
Err(E),
}
四、总结 #
本章学习了:
- 泛型函数
- 泛型结构体
- 泛型枚举
最后更新:2026-03-27