상수
러스트에는 두 종류 상수가 있습니다. 전역 범위를 포함한 모든 스코프에 선언 가능하며, 타입을 반드시 명시해야 합니다.
const
: 변경 불가능한 값 (보편적인 상수입니다).static
:mut
키워드를 이용하면 변경 가능한 변수입니다.'static
라이프타임을 갖습니다. static 라이프타임은 자동으로 추론되며, 명시할 필요 없습니다. 변경 가능한 static 변수에의 접근 및 수정은unsafe
연산입니다.
// 모든 스코프를 벗어난 전역 범위에 선언합니다. static LANGUAGE: &str = "Rust"; 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; // 고쳐주세요! ^ 이 줄을 주석 처리해주세요. }