// 기본적인 변수 선언 방법letsentence="Sentence 1";println!("{sentence}");>>Sentence1// 변수는 기본적으로 불변성(immutable) 을 가짐 sentence="Sentence 2";println!("{sentence}");>>에러발생// 변수를 다시 선언할 수 있게 하려면 mut 지시어를 사용letmutmutable_sentence="Sentence 3";mutable_sentence="Sentence 4";println!("{mutable_sentence}");>>Sentence4
코드 작성을 완료하고 디버깅하려면 터미널에 cargo run 명령어를 입력해 실행한다.
변수 생성 후 값 할당
1
2
3
4
5
// 기본적인 변수 생성letmutsentence=String::new();// String 타입의 변수 생성sentence="Sentence 1".to_string();// 값을 할당 println!("{sentence}");>>Sentence1
.to_string() 을 한 이유 :
sentence 는 String 타입이고, “Sentence 1” 은 &str 타입.
이것과 관련해서는 추후에 소유권과 메모리 관리 방식에서 다시 알아본다.
불변성 (muitable)
불변성이란
Rust 에서 변수의 불변성이란, 기본적으로 값을 할당받은 뒤엔 변경될 수 없는 특성을 가리킴
따라서, 점수의 최고값이나 빛의 속도와 같이 프로그램의 여러 부분에서 알 필요가 있는 값에 유용함
또한, 전역적으로 사용하게 되면 나중에 업데이트될 하드코딩된 값을 한 군데에서 변경 가능
섀도잉 (Shadowing)
섀도잉 (Shadowing)
새 변수를 이전 변수명과 같은 이름으로 선언하는 방법
첫 번째 변수가 두 변째 변수에 가려졌다(Shadowed) 고 하여 섀도잉이라고 부름
동일 변수명을 다시 사용해 값을 할당할 때 let 키워드를 사용함으로써 섀도잉을 할 수 있다.
에시
이미 선언된 변수명과 동일한 이름으로 변수를 선언할 때 let 키워드를 사용한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
letx=5;println!("First x value : {x}");letx=x+1;println!("Second x value : {x}");{letx=x+2;println!("Lat x value : {x}");}>>Firstxvalue:5>>Secondxvalue:6>>Latxvalue:8
이미 선언된 변수와 다른 타입의 변수로 만들 수도 있다.
1
2
3
4
5
6
7
8
letx=5;println!("First x value : {x}");letx="Alter Sentence";println!("Lst x value : {x}")>>Firstxvalue:5>>Lstxvalue:AlterSentence
Comments