본문 바로가기
RUST

꼭꼭 씹어먹는 러스트 - 1 변수와 가변성

by IT너구리실장 2024. 5. 27.
반응형


# 변수(Variables), 가변성(Mutability)

  • `let` 키워드를 사용하여 변수 선언
  • '러스트에서 기본적으로 변수는 변경할 수 없다'
    • 안전하고 쉽게 동시성(concurrency)을 활용하는 방법
    • concurrency : 주로 멀티 스레딩 환경에서 이루어지는, 여러 작업이 동시에 수행되는 것을 의미
    • 데이터 경합 (data race) : 여러 스레드가 동시에 동일 데이터를 수정하려고 할 때 발생
    • 변수를 변경 불가능한 읽기 전용으로 만들어 이러한 문제를 원천적으로 방지

rust variables, 변경할 수 없는 변수에 할당하면 컴파일 에러 발생!

 


  • 가변성은 코드 작성을 편리하게 만든다.
    • `mut` 을 변수 앞에 추가하여 변경가능하게 (mutable) 만든다.
    • 코드에 가변성을 명시하여 쉽게 확인

rust mutability

 


# 상수(Constants)

  • `const` 키워드를 사용하여 선언한다.
  • Rust에서 상수 명명 규칙은 단어 사이에 밑줄을 넣고 모두 대문자를 사용한다.
  • 상수는 변수와 마찬가지로 변경할 수 없는 값이지만 몇 가지 차이점이 있다.
    • `mut` 을 상수와 함께 사용할 수 없다. 항상 불변!
    • 상수는 선언된 범위 내에서 프로그램이 실행되는 전체 시간 동안 유효
    • 상수는 오직 상수 표현식으로만 설정, runtime에 계산된 값의 결과로는 설정 수 없다. 즉, 상수는 컴파일 타임에 결정되고 변경되지 않는 값을 가져야 한다.

rust constants

 

 


# 섀도잉(shadowing)

  • 섀도잉은 동일한 이름의 변수를 재선언하여 이전 변수를 숨기는 것을 의미
    • 변수를 불변으로 선언 후, 동일한 이름으로 새로운 값을 재할당할 때 유용
    • 변수의 변형 과정을 명확하고 안전하게 관리
    • 섀도잉을 적절히 활용하면 코드 가독성과 유지보수성 향상에 용이

rust shadowing, 섀도잉 예시
`text` 변수의 변형 과정을 섀도잉을 통해 명확하게 보여줌


 

아래 공식문서 참조하여 작성되었습니다 ~

 

 

Variables and Mutability - The Rust Programming Language

As mentioned in the “Storing Values with Variables” section, by default, variables are immutable. This is one of many nudges Rust gives you to write your code in a way that takes advantage of the safety and easy concurrency that Rust offers. However, y

doc.rust-lang.org

 

반응형