호출할 이름
`fn` 뒤의 이름은 위치보다 스코프 안에 정의되어 있는지가 중요합니다.
매개변수 타입, 반환 타입, 세미콜론 위치를 함께 보면 함수 오류의 대부분을 빠르게 좁힐 수 있습니다.
fn plus_one(x: i32) -> i32 {
x + 1
}
`fn` 뒤의 이름은 위치보다 스코프 안에 정의되어 있는지가 중요합니다.
각 매개변수는 `x: i32`처럼 타입을 반드시 적어야 합니다.
`-> i32` 약속은 본문 끝에 실제 `i32` 값이 남아야 지켜집니다.
`x + 1`은 표현식이라 함수의 반환값으로 사용됩니다.
`x + 1;`은 구문이 되어 `()`를 남기므로 반환 타입과 어긋납니다.
`return`을 쓰더라도 함수가 약속한 타입과 같은 값을 내보내야 합니다.