Function Flow

함수의 반환값은 마지막 표현식에서 결정된다

시그니처가 약속한 타입과 본문이 실제로 남기는 값이 맞아야 함수가 컴파일됩니다.

1

시그니처

fn plus_one(x: i32) -> i32

이름, 인수 타입, 반환 타입을 먼저 고정합니다.

2

인수 검사

plus_one(5)

호출 값이 매개변수 타입과 맞는지 확인합니다.

3

본문 해석

{ x + 1 }

블록 안의 구문과 표현식을 순서대로 평가합니다.

4

마지막 표현식

x + 1

세미콜론이 없으면 이 값이 반환값이 됩니다.

5

세미콜론

x + 1;

세미콜론을 붙이면 값이 사라져 유닛 타입이 됩니다.