3장. 일반적인 프로그래밍 개념

Gillilab - TechLog·2024년 11월 17일

Rust

목록 보기
4/21

3장. 일반적인 프로그래밍 개념

1. 변수와 가변성

  • let과 mut

    let x = 5; // 불변 변수
    let mut y = 5; // 가변 변수
    y = 6; // 가변 변수는 값 변경 가능
  • 상수

    const MAX_POINTS: u32 = 100_000; // 상수는 타입 명시 필수
  • 섀도잉

    let x = 5;
    let x = x + 1; // 이전 x를 가리는(shadow) 새로운 x

2. 데이터 타입

  • 스칼라 타입

    // 정수
    let i: i32 = -42; // 32비트 부호있는 정수
    let u: u32 = 42; // 32비트 부호없는 정수
    
    // 부동소수점
    let f: f64 = 3.14; // 64비트 부동소수점
    
    // boolean
    let t = true;
    let f = false;
    
    // 문자 
    let c = 'z';
    let emoji = '😻';
  • 복합 타입

    // 튜플
    let tup: (i32, f64, u8) = (500, 6.4, 1);
    let (x, y, z) = tup; // 구조분해
    
    // 배열
    let arr = [1, 2, 3, 4, 5];
    let first = arr[0];

3. 함수

  • 매개변수와 반환값

    fn add(x: i32, y: i32) -> i32 {
        x + y // 세미콜론 없으면 반환값
    }
    
    let result = add(5, 3);
    println!("결과: {}", result);
  • 표현식과 구문

    let y = {
        let x = 3;
        x + 1 // 표현식, 세미콜론 없음
    };

4. 주석과 문서화

  • 일반 주석

    // 이것은 한 줄 주석입니다.
    
    /* 이것은
       여러 줄 주석입니다. */
  • 문서화 주석

    /// 이 함수는 주어진 숫자에 1을 더합니다.
    ///
    /// # 예제
    ///
    /// ```
    /// let five = 5;
    /// assert_eq!(6, add_one(5));
    /// ```
    fn add_one(x: i32) -> i32 {
        x + 1
    }

5. 제어 흐름

  • if 표현식

    let number = 6;
    
    if number % 4 == 0 {
        println!("number는 4로 나누어떨어집니다");
    } else if number % 3 == 0 {
        println!("number는 3으로 나누어떨어집니다");
    } else {
        println!("number는 4나 3으로 나누어떨어지지 않습니다");
    }
  • loop 반복문

    let mut counter = 0;
    
    let result = loop {
        counter += 1;
    
        if counter == 10 {
            break counter * 2;
        }
    };
    
    println!("결과는 {}", result);
  • while 반복문

    let mut number = 3;
    
    while number != 0 {
        println!("{}!", number);
        number -= 1;
    }
    
    println!("발사!");
  • for 반복문

    let a = [10, 20, 30, 40, 50];
    
    for element in a.iter() {
        println!("값: {}", element);
    }
  • break와 continue

    for number in 1..6 {
        if number == 3 {
            continue;
        }
        if number == 5 {
            break;
        }
        println!("{}", number);
    }

0개의 댓글