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
음.. 뭔가 많이 어렵군
라이프타임은 내일 다시보자
'STUDY > Rust' 카테고리의 다른 글
Rust - 13. 자동화 테스트 (0) | 2024.03.07 |
---|---|
Rust - 12. 라이프 타임 (1) | 2024.03.05 |
Rust - 10. 에러 처리 (0) | 2024.02.26 |
Rust - 9. 컬렉션(vector, string, hash map) (0) | 2024.02.20 |
Rust - 8. 패키지, 크레이트, 모듈 (0) | 2024.02.19 |