제어흐름문

조건 분기

if 문

if `bool로 평가되는 표현식` { `참인 경우 호출` }

else if `bool로 평가되는 표현식` { `참인 경우 호출` }

else { `모두 거짓인 경우 호출` }

if let문

if let `패턴` = `표현식` { `패턴이 매칭되면 호출` }

else {`매칭되지 않으면 호출`}

패턴에 Some(item)처럼 변수가 있으면 item같은 변수를 코드블럭 안에서 사용할 수 있다.

else if 나 else if let을 중간에 추가할 수 있다.

let else문

let `패턴` = `표현식` {`매칭 실패 시 호출`}

매칭에 실패하면 리턴하는 용도로 많이 사용됨.

match 문

match `표현식` {

    `패턴` => {`패턴이 매칭되면 호출` },

    `패턴` => {`패턴이 매칭되면 호출` },

    _ => {`패턴 매칭에 실패하면 호출`}

}

match문은 모든 경우의 수를 처리해야 한다.

반복

for문

for `패턴` in `IntoIterator 트레이트를 구현한 객체` {`반복할 내용`}

while문

while `불리언으로 평가되는 표현식` {`반복할 내용`}

while let문

while let `패턴` = `표현식` {`패턴이 매칭되는 한 반복될 내용`}

loop문

loop {`무조건 반복할 내용`}

반복 제어

continue: 즉시 현재의 반복을 벗어나 다음 반복을 진행한다.

break: 즉시 현재의 반복을 벗어나 반복문 다음 코드로 진행한다.

break `표현식`: loop에서만 사용가능. break와 같으나 해당 루프문이 `표현식`을 평가한 값이됨.

return: 즉시 현재의 함수를 벗어난다.