본문 바로가기
RUST

꼭꼭 씹어먹는 러스트 - 5 제어 흐름

by IT너구리실장 2024. 6. 12.
반응형

RUST Control Flow


# Control Flow

  • Rust의 제어 흐름 구조에는 `if` 표현식과 반복문이 있습니다.

## if Expressions

  • if 표현식은 조건에 따라 코드를 분기한다.
  • 조건 true, false 에 따라 특정 블록이 실행된다.
  • 조건은 반드시 `bool` 타입이어야 한다.


### Handling Multiple Conditions with else if

  • `else if` 를 사용하여 여러 조건을 처리할 수 있다.
  • 조건문은 순서대로 참, 거짓을 판별하여 참인 코드블럭을 실행시키고 끝나게 된다.

 


### Using if in a let Statement

  • `if`는 표현식이므로 `let`문에서 사용할 수 있다.

위의 경우 `if` 표현식의 두 블럭의 타입은 같아야 한다.


## Repetition with Loops

  • Rust는 3종류의 반복문이 있다. `loop`, `while`, `for` 

### loop

  • `loop` 키워드는 코드블록을 영원이 반복해서 실행하거나 명시적으로 중지할 때까지 실행된다.
  • 아래 프로그램을 실행하면 "again!" 이 계속 출력된다. 터미널에서 Ctrl+C 를 눌러 중단할 수 있다. 

 

  • 명시적으로 `break` 키워드를 루프 내에 배치하여 중단할 수 있다.
  • `break` 키워드 뒤에 반환하려는 값을 추가하면 루프에서 값을 반환할 수 있다. 

 

  • 루프 내에 루프가 있는 경우, 루프 레이블을 사용하여 `break`, `continue` 키워드를 특정 루프에 선택적으로 지정할 수 있다.
  • 루프 레이블은 작은 따옴표로 시작하고 `loop` 키워드 앞과 `break`, `continue` 뒤에 사용된다.

루프 레이블을 지정하여 count == 2 조건이 참일때 외부 루프를 중단시킨다.

 


### while

  • while은 조건부 루프로, 조건이 true 이면 루프가 실행된다. 조건이 false가 되면 루프를 중지한다.

while 조건이 true면 코드블럭이 실행되고 이를 반복한다

### for

  • `for` 루프를 사용하여 컬렉션의 각 요소를 순회할 수 있다.

  • Range 표준 라이브러리를 사용하여 숫자 범위를 지정하여 순회할 수 있다.
  • 사용법은, 시작..끝(미포함)

  • 역순도 가능하다 (1..4).rev()

 

반응형