Step 00: 프로젝트 설정 및 Rust 기초
prep 30 min

프로젝트 설정 및 Rust 기초

Cargo로 프로젝트를 생성하고 기본 문법을 익힙니다.

Execute this step

Run from project root:
cargo run

Step 0: 프로젝트 설정 및 Rust 기초

학습 목표

  • Cargo로 새 프로젝트를 생성하는 방법 배우기
  • Rust의 기본 변수와 타입 이해하기
  • 함수를 정의하고 호출하는 방법 익히기

Cargo 프로젝트 생성

cargo new book_manager
cd book_manager

프로젝트 구조:

1book_manager/
2├── Cargo.toml    # 프로젝트 설정 파일
3└── src/
4    └── main.rs   # 메인 소스 파일

핵심 개념

1. 변수 선언

Rust의 변수는 기본적으로 **불변(immutable)**입니다.

1fn main() {
2    // 불변 변수
3    let title = "러스트 프로그래밍";
4    // title = "다른 책"; // 에러! 불변 변수는 변경 불가
5    
6    // 가변 변수
7    let mut count = 0;
8    count += 1; // OK! mut 키워드로 가변으로 선언
9    
10    println!("책 제목: {}, 대여 횟수: {}", title, count);
11}

2. 타입 시스템

1fn main() {
2    let id: u32 = 1;              // 부호 없는 32비트 정수
3    let price: f64 = 15000.0;     // 64비트 실수
4    let title: String = String::from("책 제목"); // 힙 할당 문자열
5    let available: bool = true;    // 불리언
6}

3. 함수 정의

1fn main() {
2    let price = calculate_discount(15000, 10);
3    println!("할인가: {}원", price);
4}
5
6// 함수 정의: 매개변수와 반환 타입 명시
7fn calculate_discount(price: u32, discount_percent: u32) -> u32 {
8    price - (price * discount_percent / 100)
9}

실습 코드

src/main.rs에 다음 코드를 작성하세요:

1fn main() {
2    println!("=== 도서 관리 시스템 ===\n");
3    
4    let book_title = "러스트 프로그래밍";
5    let author = "스티브";
6    let mut borrow_count = 0;
7    
8    println!("책 제목: {}", book_title);
9    println!("저자: {}", author);
10    println!("대여 횟수: {}", borrow_count);
11    
12    borrow_count += 1;
13    println!("\n대여 후 횟수: {}", borrow_count);
14    
15    let original_price = 30000;
16    let discount = 15;
17    let final_price = calculate_discount(original_price, discount);
18    println!("\n정가: {}원", original_price);
19    println!("할인율: {}%", discount);
20    println!("할인가: {}원", final_price);
21}
22
23fn calculate_discount(price: u32, discount_percent: u32) -> u32 {
24    price - (price * discount_percent / 100)
25}

실행

cargo run

체크리스트

  • [ ] Cargo로 프로젝트를 생성했습니다
  • [ ] 불변 변수와 가변 변수의 차이를 이해했습니다
  • [ ] 함수를 정의하고 호출할 수 있습니다
  • [ ] println! 매크로로 출력할 수 있습니다
  • [ ] cargo run으로 프로그램을 실행했습니다

다음 단계

Step 1에서는 구조체(struct)를 사용하여 책 데이터를 구조화하고 메서드를 정의하는 방법을 배웁니다.

Did you find this helpful? Give it a cheer!