매크로

매크로는 컴파일 중에 Rust 코드로 확장되며 다양한 수의 인수를 사용할 수 있습니다. 끝에 !로 구분됩니다. Rust 표준 라이브러리에는 여러 가지 유용한 매크로가 포함되어 있습니다.

  • println!(format, ..) prints a line to standard output, applying formatting described in std::fmt.
  • format!(format, ..)println!처럼 작동하지만 결과를 문자열로 반환합니다.
  • dbg!(expression)은 표현식의 값을 기록하고 반환합니다.
  • todo!()는 일부 코드를 아직 구현되지 않은 것으로 표시합니다. 실행하면 패닉이 발생합니다.
  • unreachable!()은 일부 코드를 연결할 수 없다고 표시합니다. 실행하면 패닉이 발생합니다.
fn factorial(n: u32) -> u32 {
    let mut product = 1;
    for i in 1..=n {
        product *= dbg!(i);
    }
    product
}

fn fizzbuzz(n: u32) -> u32 {
    todo!()
}

fn main() {
    let n = 4;
    println!("{n}! = {}", factorial(n));
}
This slide should take about 2 minutes.

이 섹션에서는 이러한 일반적인 편의 기능이 있으며 이를 사용하는 방법을 기억해야 합니다. 매크로로 정의되는 이유와 확장 대상은 특별히 중요하지 않습니다.

이 과정에서는 매크로 정의를 다루지 않지만 이후 섹션에서는 파생 매크로의 사용에 관해 설명합니다.