Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

상수

Rust에는 전역 범위를 포함한 모든 범위에서 선언할 수 있는 두 가지 유형의 상수가 있습니다. 둘 다 명시적인 타입 어노테이션이 필요합니다:

  • const: 변경할 수 없는 값 (일반적인 경우).
  • static: 'static 라이프타임을 가진, 가변적일 수 있는 변수입니다. static 라이프타임은 추론되므로 명시할 필요는 없습니다. 가변적인 static 변수에 접근하거나 수정하는 것은 unsafe합니다.
// 전역 변수는 다른 모든 범위의 바깥에 선언됩니다.
static LANGUAGE: &str = "러스트";
const THRESHOLD: i32 = 10;

fn is_big(n: i32) -> bool {
    // 어떤 함수 내에서 상수에 접근
    n > THRESHOLD
}

fn main() {
    let n = 16;

    // 메인 스레드에서 상수에 접근
    println!("이것은 {}입니다", LANGUAGE);
    println!("임계값은 {}입니다", THRESHOLD);
    println!("{}은(는) {}입니다", n, if is_big(n) { "큰" } else { "작은" });

    // 에러! `const`는 수정할 수 없습니다.
    THRESHOLD = 5;
    // FIXME ^ 이 줄을 주석 처리하세요
}

참고:

const/static RFC, 'static 라이프타임