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),
}
相关推荐
小弥儿10 分钟前
GitHub今日热榜 | 2026-08-14:OSINT情报工具回流,本地AI赛道升温
人工智能·学习·开源·github
乐观勇敢坚强的老彭12 分钟前
C++ 竞赛常用算法模板速查表
开发语言·c++·算法
离陌在学C#26 分钟前
C# 泛型:从基础到高级应用
开发语言·c#
ly768927 分钟前
Java 设计模式详解:从原则到 23 种经典模式
java·开发语言·设计模式
小黄人软件29 分钟前
【证书批量转换】PEM->CER证书批量转换工具.exe 纯 Python实现,无需安装OpenSSL
人工智能·学习
SomeB1oody29 分钟前
【RustyML入门】2.13. 孤立森林
开发语言·后端·机器学习·rust·教程
萧瑟余晖44 分钟前
Java深入解析篇三十之Java日志框架
java·开发语言
Herbert_hwt1 小时前
【C语言基础】常量、选择结构与运算符全解析
c语言·开发语言·算法
AI视觉网奇1 小时前
动作识别 视频理解大模型
开发语言·python·音视频
DLYSB_1 小时前
Kafka 消费倾斜死锁与 Partition 掉队:我用 Rust 写了个“数据管道物理哨兵”,比 Grafana 报警快了 18 秒
rust·kafka·grafana·报警灯