■ PartialOrd/Copy 트레잇에서 트레잇 바운드를 사용해 큰 값을 구하는 제네릭 함수를 만드는 방법을 보여준다.
▶ 예제 코드 (RS)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
use std::cmp; fn get_largest_value<T>(source_array : &[T]) -> T where T : cmp::PartialOrd + Copy { let mut largest_value : T = source_array[0]; for &value in source_array.iter() { if value > largest_value { largest_value = value; } } return largest_value; } fn main() { let integer_vector : Vec<i32> = vec![34, 50, 25, 100, 65]; let largest_integer : i32 = get_largest_value(&integer_vector); println!("가장 큰 정수 : {}", largest_integer); let character_vector : Vec<char> = vec!['y', 'm', 'a', 'q']; let largest_character : char = get_largest_value(&character_vector); println!("가장 큰 문자 : {}", largest_character); } /* 가장 큰 정수 : 100 가장 큰 문자 : y */ |