Rust 함수 동작 원리
·
Programming Language/RUST
Rust의 함수Rust도 역시 다른 함수와 마찬가지로 main 함수가 프로그램의 시작 지점이다.또한, fn 키워드를 통해 새로운 함수를 선언할 수 있다. Rust의 코드는 snake case 라는 스타일 규칙으로 변수나 함수 이름을 사용하도록 하고 있다.snake case는 모든 문자를 소문자로 사용하며, 언더바(_)로 단어를 구분하는 스타일이다. 함수를 선언하고 실행해보자.소스코드fn main() { my_func(); println!("my_func has been called.");}fn my_func() { let name = "ykjeon"; let age = 22; println!("Hello, my name is {name}. I'm {age}.");}실행 결과함수..
[Rustling] exercises/01_variables/variables6.rs 풀기
·
Programming Language/RUST
문제상수 변수에 데이터 타입이 명시되지 않아 발생한 에러이다. 풀이소스 코드를 살펴보자// TODO: Change the line below to fix the compiler error.const NUMBER = 3;fn main() { println!("Number: {NUMBER}");}`TODO`에서도 상수 변수 선언 부분을 수정하라고 지시하고 있다. 데이터 타입을 명시해 주자.// TODO: Change the line below to fix the compiler error.const NUMBER:i32 = 3;fn main() { println!("Number: {NUMBER}");} 저장하면,해결 Rust에서 상수를 선언할 때에는 데이터 타입을 명시해 주자!
[Rustling] exercises/01_variables/variables5.rs 풀기
·
Programming Language/RUST
문제에러를 확인해 보니 데이터 타입의 불일치가 문제인 것 같다. 풀이소스 코드를 확인해보자.fn main() { let number = "T-H-R-E-E"; // Don't change this line println!("Spell a number: {}", number); // TODO: Fix the compiler error by changing the line below without renaming the variable. number = 3; println!("Number plus two is: {}", number + 2);}TODO에서 변수명을 변경하지 말라고 지시하고 있다. 맨 아래의 `println!`을 살펴보니 수학 연산을 하기 때문에 `number` 변수..
[Restling] exercises/01_variables/variables4.rs 풀기
·
Programming Language/RUST
문제에러를 살펴보니 불변 변수에 재할당을 시도해 발생한 것임을 알 수 있다. 풀이소스 코드를 살펴보자// TODO: Fix the compiler error.fn main() { let x = 3; println!("Number {x}"); x = 5; // Don't change this line println!("Number {x}");} Rust의 변수는 기본적으로 불변성이기 때문에, 추후에 값을 재할당 하기 위해서는 가변 변수로 선언하거나, shadowing을 해주어야 한다.문제에서 `x = 5;` 부분을 수정하지 말라고 했으므로, `let x = 3;`을 수정해 문제를 해결할 수 있다.가변 변수로 선언을 하기 위해서는 `mut` 키워드를 이용하면 된다. 다음과 같이 코드를 ..
[Rustling] exercises/01_variables/variables3.rs 풀기
·
Programming Language/RUST
문제이 문제도 바로 전 문제랑 비슷한 문제다.에러는 `x`가 초기화되지 않았다고 알려주고 있다. 풀이소스 코드를 살펴보자fn main() { // TODO: Change the line below to fix the compiler error. let x: i32; println!("Number {x}");} 역시 TODO 설명도 변수 선언 부분을 수정하라고 지시하고 있다. 변수에 값을 할당시켜 초기화시키면 문제를 해결할 수 있다.다음과 같이 수정했다.fn main() { // TODO: Change the line below to fix the compiler error. let x: i32 = 3; println!("Number {x}");} 그리고 실행하면...성공~
[Rustling] exercises/01_variables/variables2.rs 풀기
·
Programming Language/RUST
문제변수 `x`에 대한 타입 명시가 없어 발생한 에러로 보인다. 풀이소스 코드를 살펴보자.fn main() { // TODO: Change the line below to fix the compiler error. let x; if x == 10 { println!("x is ten!"); } else { println!("x is not ten!"); }} 주석으로도 변수 선언 부분을 고치라고 나와있는 것을 볼 수 있다. 아래 if 문에서 x의 값이 정수 `10`인지 검사하고 있기 때문에, `x`에도 정수를 넣어주면 문제가 해결된다.Rust에서는 변수 선언 시 초기화가 필수이므로 `10`을 할당시켜 주었다.타입 명시는 변수에 값을 할당할 때 기본적으로..
[Rustling] exercises/01_variables/variables1.rs 풀기
·
Programming Language/RUST
문제`x`라는 변수를 현재 스코프에서 찾을 수 없다는 에러이다.  풀이소스 코드를 살펴보자.변수가 제대로 선언 되어있지 않은 것을 확인할 수 있다. 다음과 같이 수정하자.fn main() { // TODO: Add the missing keyword. let x = 5; println!("x has the value {x}");} 이제 저장하면...문제 해결!
Rustling 시작하기
·
Programming Language/RUST
Rustling이란?Rust에서 공식적으로 만들어 놓은 초보자를 위한 Rust 학습 프로젝트이다.https://github.com/rust-lang/rustlings GitHub - rust-lang/rustlings: :crab: Small exercises to get you used to reading and writing Rust code!:crab: Small exercises to get you used to reading and writing Rust code! - rust-lang/rustlingsgithub.com 본인은 Windows 운영체제에서 VS Code를 통해 본 공부를 진행할 예정이다.  Rustling 시작하기Rustling 설치1. cmd 창에서 다음을 입력해 rustlin..
RUST의 데이터 타입
·
Programming Language/RUST
Rust의 데이터 타입Rust는 타입이 고정된 언어이다.이는 모든 변수의 타입이 컴파일 시에 반드시 정해져 있어야 한다는 뜻이다.보통 컴파일러는 사용된 값에 따라 타입을 추측할 수 있지만, 타입의 선택 폭이 넓은 경우에는 반드시 타입을 명시해야 한다.Rust의 데이터 타입은 크게 스칼라와 컴파운드로 나눌 수 있다. 스칼라 타입 데이터스칼라는 하나의 값으로 표현되는 타입으로, 다음 데이터형이 스칼라 타입에 해당된다.정수형부동소수점boolean문자 정수형Rust의 기본 정수 타입은 i32 이다. (64-bit 에서도 마찬가지)Rust에서의 정수 타입LengthSignedUnsigned8-biti8u816-biti16u1632-biti32u3264-biti64u64archisizeusize Rust의 정수형 ..
Rust의 변수
·
Programming Language/RUST
⭐ Rust의 변수 특징Rust의 변수는 기본적으로 불변이다.즉, 불변성 변수에 값을 재할당하려고 하면 컴파일 에러가 발생한다.이 덕분에 Rust는 코드의 안전성과 동시성에서 강점을 발휘한다.  🏃‍♂️ 실습 해보자!불변성 확인해보기먼저, variables 라는 새 프로젝트를 생성한다.본인은 VS Code에서 진행하므로, VS Code도 실행해 주었다.cargo new variables --bincd variablescode . `main.rs`파일에 다음 코드를 작성해서 실행해보자.fn main() { let x = 5; println!("The value of x is: {}", x); x = 6; println!("The value of x is: {}", x);} 다음처럼 ..