[rust] 러스트 코드에서 제네릭 프로그래밍

제네릭 함수

fn 제네릭_함수<T>(x: T, y: T) -> T {
    if x > y {
        x
    } else {
        y
    }
}

fn main() {
    let result = 제네릭_함수(5, 10);
    println!("결과: {}", result);
}

위의 예제에서 제네릭_함수<T>와 같이 T를 사용하여 제네릭 유형을 선언합니다. 이 함수는 두 개의 매개변수 xy를 취하고, 동일한 유형 T를 사용하여 작동합니다.

제네릭 구조체

struct 제네릭_구조체<T> {
    필드: T,
}

fn main() {
    let 정수_구조체 = 제네릭_구조체 { 필드: 5 };
    let 실수_구조체 = 제네릭_구조체 { 필드: 4.5 };
}

위의 예제에서 제네릭_구조체는 유형 매개변수 T를 사용하여 선언됩니다. 이것은 여러 다양한 유형에 대해 인스턴스화될 수 있는 구조체를 정의합니다.

제네릭을 통해 보다 추상적이고 유연한 코드를 작성할 수 있으며, 러스트의 강한 유형 시스템을 이용하여 안전하게 사용할 수 있습니다.