8.1 패키지와 크레이트
// 패키지 구조
my_package/
├── Cargo.toml
├── src/
│ ├── main.rs (바이너리 크레이트)
│ ├── lib.rs (라이브러리 크레이트)
│ └── some_module.rs
└── tests/
러스트의 파일시스템 구조이다. 그래서 cargo로 패키지 관리하고 빌드하며 함수를 라이브러리 트리는 크레이트로 검색해서 진행한다.
패키지는 위에 파일 시스템 구조처럼 하나 이상의 모듈이 모인 단위로
파이선에서는 pip 형태가 있고 자바스크립트는 npm 등등 수많은 개발자들이 미리 개발해 놓은 것들로 쉽게 이용할 수 있습니다.
8.2 모듈 정의
// lib.rs 또는 main.rs에서 모듈 정의
mod front_of_house {
pub mod hosting {
pub fn add_to_waitlist() {}
}
mod serving {
fn take_order() {}
pub fn serve_order() {}
}
}
모듈의 형태는 이런 형태입니다. mod, pub 잘 구분해서 사용하시길 바랍니다. 이제 기초편을 모두 익히며 간단한 러스트 코드는 읽을 수 있겠지요.
8.3 경로와 use
일반적으로 절대 경로와 상대 경로의 개념이랄까 이건 다른 언어에서도 많이 나옵니다. 아시는 거죠..
무엇이 다른지 그리고 어떻게 사용하는 지를 잘 이용해서 사용하시면 경로명과 함수 호출 등등 어느 위치에 어떤 함수들이 만들어져 있는지를 알 수가 있으며 개발하는 데도 코드 보안 등 많이 잘 이용하실 수 있습니다.
8.4 파일로 모듈 분리
이제 기초의 마지막으로 어떻게 모듈을 이용하는지 각각 개별 파일로 분리하여 코드를 이해할 수 있고
순서도 잘 이용해서 디렉토리 구조와 모듈 계층이 일치가 되게 전체 파일을 구조화해서 가독성 등등
모두 이용할 수 있겠지요.
간단하지만 기초편은 여기서 마무리 하겠습니다.