gw_rust_programming_tutorial/chapter_10/
test_generics.rs

1//借用的方式
2pub fn test_generics_fn<T>(v:&[T])->&T
3    where T : std::cmp::PartialOrd
4{
5    let mut max = &v[0];
6    for e in v
7    {
8        if e > max
9        {
10            max = e;
11        }
12    }
13
14    max
15}
16
17//不借用实现copy的trait
18pub fn test_generics_fn1<T>(v:&[T])->T
19    where T : std::cmp::PartialOrd+core::marker::Copy
20{
21    let mut max = v[0];
22    for e in v
23    {
24        if *e > max
25        {
26            max = *e;
27        }
28    }
29
30    max
31}