STUDY/Rust
Rust - 11. 제네릭 타입, 트레이트
sinawi95
2024. 3. 4. 22:02
728x90
오랜만에 러스트!
1. 제네릭 데이터 타입
제네릭(generic): 중복되는 개념을 효율적으로 처리하기 위한 도구
- C++ 에서 사용하는 template 생각하면될듯하다
enum Option<T> {
Some(T),
None,
}
enum Result<T, E> {
Ok(T),
Err(E),
}
제너릭 코드를 사용해도 런타임에서 느려지지 않음.(구체적인 타입을 사용했을때와 비교해도 느려지지않음)
2. 트레이트
동작을 제네릭한 방식으로 정의함. 특정 타입만 허용할 수도 있음.
- 다른 언어에서의 interface 와 유사함(하다고함)
트레이트 바운드(trait bound): 어떤 제네릭 타입 자리에 특정한 동작을 갖춘 타입이 올 수 있음을 명시할 수 있음
https://doc.rust-kr.org/ch10-00-generics.html
음.. 뭔가 많이 어렵군
라이프타임은 내일 다시보자