泛型 Generics
泛型使函数、结构体、枚举和方法能够操作多种数据类型,而无需重复代码。
泛型函数示例
fn largest<T: PartialOrd>(list: &[T]) -> &T {
let mut largest = &list[0];
for item in list.iter() {
if item > largest {
largest = item;
}
}
largest
}
fn main() {
let nums = vec![10, 20, 15];
println!("最大的数字是 {}", largest(&nums));
let chars = vec!['a', 'x', 'm'];
println!("最大的字符是 {}", largest(&chars));
}
泛型结构体示例
struct Point<T> {
x: T,
y: T,
}
fn main() {
let p1 = Point { x: 5, y: 10 };
let p2 = Point { x: 1.0, y: 4.0 };
println!("p1: ({}, {}), p2: ({}, {})", p1.x, p1.y, p2.x, p2.y);
}
代码演示
fn largest<T: PartialOrd>(list: &[T]) -> &T {
let mut largest = &list[0];
for item in list.iter() {
if item > largest {
largest = item;
}
}
largest
}
fn main() {
let nums = vec![10, 20, 15];
println!("最大的数字是 {}", largest(&nums));
let chars = vec!['a', 'x', 'm'];
println!("最大的字符是 {}", largest(&chars));
struct Point<T> {
x: T,
y: T,
}
let p1 = Point { x: 5, y: 10 };
let p2 = Point { x: 1.0, y: 4.0 };
println!("p1: ({}, {}), p2: ({}, {})", p1.x, p1.y, p2.x, p2.y);
}
相关内容
- 什么是 Rust? Rust 是一门注重性能与安全的系统级编程语言,采用独特的所有权机制保障内存安全,避免数据竞争和悬垂指针,适用于系统开发、嵌入式和高并发场景。
- Rust 的历史和发展背景 Rust 起源于 Mozilla,最初由 Graydon Hoare 创建,旨在解决传统系统编程语言如 C/C++ 所面临的内存安全问题,经过多年社区发展,已成...
- Rust 的优点和适用场景 Rust 以内存安全、高性能和零成本抽象著称,适合系统编程、高并发服务、嵌入式开发和 WebAssembly 应用,是 C/C++ 的现代替代方案。
- 在不同操作系统上安装 Rust Rust 提供跨平台的安装方式,可在 Windows、macOS 和各类 Linux 系统上快速安装,推荐使用官方安装工具 rustup 进行统一管理和更新。
- 配置 Rust 开发环境 配置 Rust 开发环境主要包括设置环境变量、选择合适的编辑器和插件、管理工具链版本,以获得高效流畅的开发体验。
- 使用 Rust 的基本工具链 Rust 提供丰富的基本工具链,包括编译器 rustc、包管理器 cargo、文档生成器 rustdoc 和测试工具,构建现代软件项目高效可靠。