Rust의 제네릭(Generic)
2023. 1. 9. 22:21ㆍLanguage/Rust
개요
여러 언어에서 제네릭(generic)이란 데이터의 타입을 사용합니다.
데이터의 타입을 일반화한다(generalize)라는 것을 의미하며, 반복적인 코드의 작성을 줄여줍니다.
Rust에서 제네릭을 어떻게 사용하는지 알아봅니다.
제네렉(Generic)
제네렉은 반복적인 코드를 작성 할 필요성을 줄이고 대신 이 작업을 컴파일러에 위임하는 동시에 코드를 보다 유연하게 만드는 방법입니다.
제네릭을 사용하면 각 데이터 유형에 대해 동일한 코드를 다시 작성할 필요없이 여러 데이터 유형과 함께 사용할 수 있는 코드를 작성 할 수 있으므로 작업이 더 쉬워지고 오류가 덜 발생하는 코딩이 가능합니다.
제네릭 함수
제네릭을 함수에 활용하면 다양한 타입의 파라미터를 받아 작업 할 수 있습니다.
fn print<T>(x:T) -> T {
x
}
fn main(){
println!("int : {}", print(10));
println!("float : {}", print(10.2));
println!("string : {}", print("String"));
}
int형, float형, string형 등 다양하게 Return을 할 수 있습니다.
use std::ops::{Add};
use std::time::{Duration};
fn add<T: Add<Output = T>>(i:T, j:T) -> T {
i + j
}
fn main(){
let floats = add(1.2, 3.4);
let ints = add(10, 20);
let durations = add(
Duration::new(5,0),
Duration::new(10, 0)
);
println!("float : {}", floats);
println!("ints : {}", ints);
println!("Duration : {:?}", durations);
}
또한, Add 트레이트를 사용하면 같은 타입의 데이터를 더해서 결과를 리턴 할 수 있습니다.
'Language > Rust' 카테고리의 다른 글
Rust Dangling Pointer (0) | 2023.02.25 |
---|---|
Rust의 배열 (0) | 2023.01.09 |
Rust의 반복문 (0) | 2023.01.08 |
Rust의 숫자 (0) | 2023.01.08 |
Rust 실행 파일 만들기 (0) | 2023.01.08 |