提取函数 泛型 Trait 生命周期
提取函数
就是把重复部分提取出来转化为一个函数
泛型
对于不同的数组想要返回类似的结果 比如传入一个i32类型数组 求一个i32的返回值 同样的代码传入一个u32数组或者是字符数组返回对应的类型时可以用泛型 进行
rust
fn largest(list: &[i32]) -> i32
{
let mut large = list[0];
for &item in list{
if item > large{
large = item;
}
}
large
}上述就是单一类型的只能处理i32类型的
rust
fn largest<T>(list: &[T]) -> T
{
let mut large = list[0];
for &item in list{
if item > large{
large = item;
}
}
large
}同样在struct里也一样
rust
struct Point<T> {
x: T,
y: T,
}
fn main()
{
let integer = Point{x: 5,y: 10};
let float = Point(x: 5.0,y: 10.0);
}
rust
enum Option<T>{//一样
Some(T),
None,
}
//在类型T上实现方法
impl<T> Point<T>{
fn x(&self) -> &T{
&self.x
}
}Trait
- Trait的定义:把方法签名放在一起,定义实现某种目的所必需的一组行为

