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),
}