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}