Rust 함수(Function) 선언과 사용법 기초
Rust에서 함수는 코드의 재사용성과 가독성을 높이는 핵심 단위입니다. 초보자도 쉽게 이해할 수 있도록 Rust 함수 선언 방법부터 매개변수, 반환값 처리까지 기본 개념을 차근차근 살펴보겠습니다.
함수 선언 기본 문법
Rust에서 함수는 fn
키워드로 선언합니다. 함수 이름 뒤에는 괄호가 따라오고, 필요하면 매개변수를 지정할 수 있습니다.
fn 함수이름(매개변수1: 타입1, 매개변수2: 타입2) -> 반환타입 {
// 함수 본문
}
예를 들어, 두 수를 더하는 함수는 다음과 같습니다.
fn add(a: i32, b: i32) -> i32 {
a + b
}
Rust에서는 함수의 마지막 표현식이 자동으로 반환되므로 return
키워드를 반드시 쓸 필요는 없습니다.
함수 호출과 인자 전달
함수를 호출할 때는 함수 이름 뒤에 괄호 안에 인자를 넣습니다. 매개변수 타입과 맞아야 하며, 순서도 중요합니다.
fn main() {
let result = add(5, 3);
println!("결과: {}", result);
}
매개변수 없이 함수 선언하기
매개변수가 필요 없는 함수도 선언할 수 있습니다. 예를 들어 인사말을 출력하는 함수입니다.
fn greet() {
println!("안녕하세요, Rust!");
}
fn main() {
greet();
}
반환값 없는 함수 (void 역할)
Rust에서 반환값이 없는 함수는 반환 타입을 명시하지 않으며, 자동으로 ()
타입(빈 튜플)을 반환합니다. 보통 부수 효과가 있는 함수에 사용됩니다.
복수 반환값 처리하기
Rust는 튜플을 이용해 여러 값을 동시에 반환할 수 있습니다. 예를 들어, 두 수의 합과 차를 동시에 구하는 함수입니다.
fn calculate(a: i32, b: i32) -> (i32, i32) {
(a + b, a - b)
}
fn main() {
let (sum, diff) = calculate(10, 4);
println!("합: {}, 차: {}", sum, diff);
}
함수 내부 변수와 스코프
함수 내부에서 선언한 변수는 함수가 끝나면 사라지는 지역 변수입니다. 외부 변수와 이름이 겹쳐도 서로 영향을 주지 않습니다.
결론: Rust 함수는 간결하고 명확하다
Rust의 함수 선언과 사용법은 다른 언어에 비해 간단하면서도 강력한 특징이 있습니다. 반환값 자동 처리, 튜플 반환, 타입 명시 등 기본기를 익히면 코드를 깔끔하게 작성할 수 있습니다. 앞으로 함수와 함께 클로저, 고차 함수 등 더 다양한 기능도 함께 배워보세요!