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

음.. 뭔가 많이 어렵군

라이프타임은 내일 다시보자

'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