rust 学习 泛型

rust 复制代码
fn main() {
	let number_list = vec![1,2,23,34,8,100];
	let res = largest(&number_list);
	println!("{}",res);
	
	let p = Point{x:2.5,y:'c'};
	println!("{}---{}",&p.get_x(),&p.get_y());
	let p1 = p.create_point(Point{x:true,y:"wzg"});
	println!("{:#?}",p1)
}

//普通函数
fn largest<T:PartialOrd + Copy> (list:&[T]) -> T {
    let mut larger = list[0];
    for &item in list.iter() {
        if item > larger {
            larger =item;
        }
    }
    larger
}

//结构体
#[derive(Debug)]
struct Point<T,U> {
    x: T,
    y: U,
}

impl<T,U> Point<T,U> {
    fn get_x(&self) -> &T {
        &self.x
    }
    
    fn get_y(&self) -> &U {
        &self.y
    }
    
    fn create_point<M,N>(self,other: Point<M,N>) -> Point<T,N> {
        Point {
            x:self.x,
            y:other.y,
        }
    }
    
}

//枚举
enum Option<T>{
    Some(T),
    None,
}

enum Result<T,E> {
    Ok(T),
    Err(E),
}
相关推荐
techdashen1 小时前
Rust 基础设施团队 2025 Q4 回顾与 2026 Q1 计划
开发语言·后端·rust
红宝村村长1 小时前
torch.autograd.Function.apply()
开发语言·python
AI科技星1 小时前
《数术工坊:非欧射影录》类型:硬核光影·几何本源
c语言·开发语言·网络·量子计算·agi
何以解忧,唯有..1 小时前
Python 中的继承机制:从基础到高级用法详解
java·开发语言·python
阿正的梦工坊2 小时前
【Rust】17-Send、Sync 与并发安全抽象
算法·安全·rust
舟遥遥娓飘飘2 小时前
文稿起草系统,离线学习写作人的“思维 + 风格“,按学到的特征起草新文稿,再用反馈闭环持续提升
windows·学习
绵绵细雨中的乡音2 小时前
监控显示一切正常,可用户根本打不开网站——Blackbox Exporter帮我找到了真相(1)
开发语言·php
c++之路2 小时前
CMake 系列教程(五):进阶技巧
c语言·开发语言·c++
踏着七彩祥云的小丑2 小时前
Go学习第5天:变量作用域 + 数组 + 指针
开发语言·学习·golang·go