매개변수와 반환 타입
- 함수의 선언 위치는 상관없음. 호출하는 측에서 볼 수있는 스코프 내에 존재하면 됨
- 매개변수의 타입을 반드시 명시해야 함
- 반환 타입은 화살표(
->)로 표현함 - 반환은
return구문과 표현식 둘 다 가능fn example() -> i32 { ... return result; }fn example() -> i32 { x * 2 }
fn main() {
let result_1 = divide_three(13);
let result_2 = plus_one(5);
}
fn divide_three(x: i32) -> f64 {
x as f64 / 3.0
}
fn plus_one(x: i32) -> i32 {
let result = x + 1;
return result;
}
구문(Statement)과 표현식(Expression)
구문
- 실행 가능한 최소 단위의 코드
- 단독으로 실행 가능
- 보통 세미콜론(
;)으로 끝나며 결과를 반환하지 않음 let x = 5;
표현식
- 값을 평가하고 결과를 반환하는 코드 조각
- 표현식에 의한 결과는 다른 표현식에서 사용 가능
- 함수의 인수로 전달하거나 반환값으로 사용 가능
let y = x * 2;에서x * 2가 표현식
구문과 표현식은 서로 다른 개념이 아니라, 구문이 표현식을 포함하는 개념이다
fn main() {
let x = {
let y = 5;
y * 3 // 세미콜론을 추가하면 표현식이 아닌 구문이 되므로 값을 반환하지 않게 된다. 따라서 변수 x에 아무값도 바인딩되지 않는다.
};
}'Rust' 카테고리의 다른 글
| [Rust] 소유권 (0) | 2024.04.24 |
|---|---|
| [Rust] 제어문 : 분기 처리와 반복 (0) | 2024.04.16 |
| [Rust] 데이터 타입 : 복합 (Compound) (0) | 2024.04.15 |
| [Rust] 데이터 타입 : 스칼라 (Scalar) (0) | 2024.04.15 |
| [Rust] 불변성과 섀도잉 (0) | 2024.03.31 |