[rust] 러스트 코드에서 제네릭 프로그래밍
제네릭 함수
fn 제네릭_함수<T>(x: T, y: T) -> T {
if x > y {
x
} else {
y
}
}
fn main() {
let result = 제네릭_함수(5, 10);
println!("결과: {}", result);
}
위의 예제에서 제네릭_함수
는 <T>
와 같이 T
를 사용하여 제네릭 유형을 선언합니다. 이 함수는 두 개의 매개변수 x
와 y
를 취하고, 동일한 유형 T
를 사용하여 작동합니다.
제네릭 구조체
struct 제네릭_구조체<T> {
필드: T,
}
fn main() {
let 정수_구조체 = 제네릭_구조체 { 필드: 5 };
let 실수_구조체 = 제네릭_구조체 { 필드: 4.5 };
}
위의 예제에서 제네릭_구조체
는 유형 매개변수 T
를 사용하여 선언됩니다. 이것은 여러 다양한 유형에 대해 인스턴스화될 수 있는 구조체를 정의합니다.
제네릭을 통해 보다 추상적이고 유연한 코드를 작성할 수 있으며, 러스트의 강한 유형 시스템을 이용하여 안전하게 사용할 수 있습니다.