인라인 본문
mod garden { ... }처럼 세미콜론 대신 중괄호가 있으면 그 자리의 코드가 모듈
본문입니다.
mod garden;은
단순한 import가 아니라, 컴파일러에게 모듈 본문이 어디 있는지
찾으라고 지시하는 선언입니다.
mod garden { ... }처럼 세미콜론 대신 중괄호가 있으면 그 자리의 코드가 모듈
본문입니다.
크레이트 루트의
mod garden;은
src/garden.rs를,
하위 선언은 부모 폴더 아래 파일을 찾습니다.
옛 스타일의
src/garden/mod.rs도 후보입니다. 새 코드에서는 보통 같은 이름의 파일을 먼저 씁니다.
pub mod garden;
선언으로
garden 모듈을
크레이트에 붙입니다.
pub mod vegetables;
선언이
src/garden/vegetables.rs를 다음 후보로 만듭니다.
pub struct Asparagus가 최종 아이템이며, 경로는
crate::garden::vegetables::Asparagus가 됩니다.
핵심 구분: mod는
코드를 크레이트에 포함시키고,
use는 이미 포함된
아이템을 현재 스코프에서 짧게 부르는 이름을 만듭니다.