개발 공부/블록체인

[Rust] 0109 공부한 내용

람쥐밍 2024. 1. 9. 22:31

1. 러스트의 변수

러스트에서 변수는 다른 프로그래밍 언어와 다르게 기본적으로 불변(immutable)이다.

변할 수 있는 수라서 '변수'인 건데 디폴트로 불변성을 가진다는 것이 특이하다.

만약 어떤 변수를 나중에 값을 변경할 수 있도록 만들고 싶다면 선언 시 'mut'를 붙여줘야 한다.

let apple = 5 // immutable
let mut apple = 10 // mutable

io()::stdin().read_line(&mut guess)

 

 

여기서 guess의 참조 변수에도 mut를 해줘야 사용자가 입력한 값을 string에 추가할 수가 있음.

 

2. 구문과 표현식의 차이
- 구문: 어떤 동작을 수행하고 값을 반환하지 않는 명령
- 표현식: 결괏값을 평가함

 

코드 블록은 블록 안의 마지막 표현식을 계산하고, 숫자는 그 자체로 표현식이다.

다른 언어에서는 함수 블록의 마지막에 return과 함께 반환값을 명시해줘야 하는데 러스트에서는 그렇게 하지 않아도 자동적으로 그 함수 블록 내 마지막 '표현식'이 반환된다.

 

3. if 문에서 주의할 점
러스트에서는 엄격히 boolean 타입의 값만 조건에 올 수 있다. 0이 아닌 숫자의 경우 true로 자동 형변환해줬던 C언어와 다름!!