Rust언어의 변수 특성
Rust 언어는 정적 타입(statically typed) 언어로, 변수의 종류와 선언에 엄격한 규칙을 가지고 있습니다. Rust에서는 변수의 종류에 따라 몇 가지 유형이 있으며, 다음과 같이 선언할 수 있습니다.
1) 불변 변수(Immutable Variables):
let x = 5;: let 키워드를 사용하여 변수를 선언하고 초기값을 할당합니다. 이 변수는 불변으로, 값을 변경할 수 없습니다. 기본적으로 모든 변수는 불변으로 선언됩니다.
2) 가변 변수(Mutable Variables):
let mut y = 10;: let 키워드 다음에 mut 키워드를 사용하여 가변 변수를 선언합니다. 이 변수는 값을 변경할 수 있습니다.
상수(Constants):
const MAX_VALUE: u32 = 1000;: const 키워드를 사용하여 상수를 선언합니다. 상수는 반드시 타입을 명시해야 하며, 프로그램 실행 도중에 변경할 수 없습니다.
let x: u32 = 5; // 명시적으로 u32 타입으로 선언
let y = 10; // 타입 추론에 의해 i32 타입으로 선언
let mut z: f64 = 3.14; // 명시적으로 f64 타입으로 가변 변수 선언
const MAX_VALUE: u32 = 1000; // 상수 선언
Rust언어의 변수 범위와 수명 : Scope and lifetime
Rust는 변수의 범위(scope)에 따라 변수의 수명(lifetime)을 추적하여 메모리 안전성을 보장합니다. 이는 소유권(ownership)과 빌림(borrowing) 개념을 통해 구현되어 있습니다. 변수의 범위가 끝나면, 해당 변수는 자동으로 해제되어 메모리에서 해제됩니다.
Rust에서 변수의 종류와 선언에 대한 설명은 이와 같습니다. Rust의 변수 규칙과 메모리 안전성 개념은 언어의 안정성과 성능을 보장하는 데 도움을 줍니다.
Rust언어의 변수를 선언하는 방법
다음과 같이 Rust에서 변수를 선언하는 방법들이 있습니다.
1) 변수와 함께 타입을 명시하는 방법
예를 들어, 정수형 변수 x를 선언하고 초기값을 5로 설정하는 경우에는 다음과 같은 코드를 작성할 수 있습니다:
let x: i32 = 5;
2) 변수 타입을 명시하지 않고 타입추론을 이용하는 방법
Rust는 변수의 타입을 추론하는 기능을 지원하기 때문에 변수 타입을 명시하지 않고도, 컴파일러가 컴파일 시점에 변수의 타입을 결정할 수 있습니다.
변수 x는 기본적으로 불변(immutable)입니다. 이는 한 번 값이 할당되면 다른 값을 재할당할 수 없음을 의미합니다. 따라서 x 변수에는 나중에 새로운 값을 할당할 수 없습니다.
변수 x의 범위(scope)는 변수가 선언된 중괄호({}) 블록의 범위와 일치합니다. 따라서 x는 중괄호 블록 내에서만 유효하며, 블록을 벗어나면 소멸됩니다. Rust의 소유권 개념에 따라 변수의 수명을 추적하여 메모리 안전성을 보장합니다.
예를 들어, 정수형 변수 y를 선언하고 초기값을 10으로 설정하는 경우에는 다음과 같은 코드를 작성할 수 있습니다:
let x = 10;
x의 타입은 초기값 10의 타입에 따라 결정됩니다. 예를 들어, x의 타입이 정수라면 let x: i32 = 10;과 같이 명시적으로 타입을 지정할 수도 있습니다. 하지만 대부분의 경우 Rust 컴파일러는 초기값을 기반으로 타입을 추론할 수 있으므로 타입을 생략하는 것이 일반적입니다.
3) 가변 변수(mutable variable)로 선언하는 방법
Rust에서는 변수의 기본적인 가변성은 불변(immutable)이므로, 변수를 변경하기 위해서는 반드시 mut 키워드를 명시해주어야 합니다.
가변 변수는 값을 변경할 수 있는 변수입니다. Rust에서 가변 변수를 선언하는 방법에는 mut 키워드를 사용하는 방법이 있습니다. 변수를 선언할 때 mut을 사용하면 해당 변수에 값을 변경할 수 있는 권한을 부여하는 것입니다. 즉, 이 변수는 가변 변수(mutable variable)가 됩니다.
예를 들어, 가변 변수 z를 선언하고 초기값을 15로 설정하는 경우에는 다음과 같은 코드를 작성할 수 있습니다:
let mut z = 15;
4) 불변 변수와 가변 변수를 정의 하는 방법
let x = 5; // x 변수를 선언하고 값을 할당합니다.
x = 10; // 컴파일 에러 발생. x는 불변 변수이기 때문에 값을 변경할 수 없습니다.
let mut y = 5; // y 변수를 선언하고 값을 할당합니다.
y = 10; // y 변수의 값을 10으로 변경합니다.
위의 코드에서 let mut y와 같이 mut가 포함된 변수 선언은 y가 값을 변경할 수 있는 가변 변수임을 나타냅니다. 따라서, y = 10과 같이 값을 변경하는 코드는 문제 없이 실행됩니다.
'Programming' 카테고리의 다른 글
[RUST언어] RUST 언어의 시작 (2) - 변수 타입의 종류 (3) | 2023.05.16 |
---|---|
[RUST언어] RUST 언어의 시작 (2) - 변수의 종류 (4) | 2023.05.16 |
[RUST언어] RUST 언어의 시작 (2) - 변수의 범위와 수명 관리 (3) | 2023.05.16 |
[python] Selenium - 웹페이지 링크로 페이지 이동 - find_element와 ExpectedConditions 응용 (2) | 2023.05.04 |
[python] Selenium 웹스크래핑- 웹페이지 객체 찾는 방법 정리 - find_element 와ExpectedConditions (2) | 2023.05.02 |
[RUST언어] RUST 언어의 시작 (1) - RUST언어로 C/C++을 대체 할 수 있을까 ? (0) | 2023.04.29 |
[python] Selenium 웹스크래핑 - 제목과 내용 수집하기 (2) | 2023.04.28 |