초급 문법 : 3. 함수 (fn) – 함수 선언 및 매개변수, 반환값 사용법
📌 1. 함수란?
함수는 특정 작업을 수행하는 코드 블록입니다. 같은 기능을 여러 번 사용할 때 코드를 재사용할 수 있어 편리합니다.
Rust에서 함수는 fn 키워드를 사용하여 선언합니다.
함수는 매개변수(입력값) 를 받을 수도 있고, 반환값(출력값) 을 돌려줄 수도 있습니다.
🛠 2. VS Code에서 Rust 함수 실행하기
✅ 1) VS Code에서 Rust 프로젝트 생성
Rust 코드를 실행하려면 프로젝트를 만들어야 합니다. 아래 단계를 따라 하세요.
1️⃣ 터미널 열기
- VS Code를 실행하고, Ctrl + ~ (물결표) 키를 눌러 터미널을 엽니다.
- 또는 메뉴에서 [터미널] → [새 터미널] 선택하세요.
2️⃣ 새 Rust 프로젝트 생성
- 터미널에 아래 명령을 입력하고 Enter 키를 누릅니다.
- rust_functions이라는 폴더가 생성됩니다.
cargo new rust_functions
3️⃣ 프로젝트 열기
- VS Code에서 [파일] → [폴더 열기] 선택 후 rust_functions 폴더를 엽니다.
4️⃣ 메인 파일 열기
- 왼쪽 src 폴더에서 main.rs 파일을 클릭하여 엽니다.
📌 3. 기본 함수 선언 (fn)
✅ 1) 가장 간단한 함수
함수를 선언하는 기본 형식은 아래와 같습니다.
fn 함수이름() {
// 실행할 코드
}
👉 예제: hello_world라는 이름의 함수를 만들어 보겠습니다.
fn hello_world() {
println!("안녕하세요, 러스트 함수입니다!");
}
fn main() {
hello_world(); // 함수 호출
}
📝 설명:
- fn hello_world() → hello_world라는 함수를 선언
- {} 중괄호 안에 실행할 코드를 작성
- println!() → 화면에 문자열 출력
- fn main() → 프로그램의 시작점(반드시 있어야 함)
- hello_world(); → 함수 호출 (실행)
🏃 실행 방법
1️⃣ 파일 저장: Ctrl + S
2️⃣ 터미널에서 실행
cargo run
3️⃣ 결과 확인
안녕하세요, 러스트 함수입니다!
📌 4. 매개변수 (입력값)
함수는 매개변수를 받을 수 있습니다.
매개변수는 함수가 실행될 때 전달하는 입력값입니다.
✅ 1) 매개변수가 있는 함수
fn say_hello(name: &str) {
println!("안녕하세요, {}님!", name);
}
fn main() {
say_hello("철수");
say_hello("영희");
}
📝 설명:
- fn say_hello(name: &str) → name이라는 매개변수를 받음 (문자열 참조 &str)
- println!("안녕하세요, {}님!", name); → name 값이 {}에 들어감
- say_hello("철수"); → name에 "철수"를 전달하여 실행
🏃 실행 결과
안녕하세요, 철수님!
안녕하세요, 영희님!
📌 5. 반환값 (출력값)
함수는 값을 반환할 수도 있습니다.
반환값이 있는 함수의 형식은 다음과 같습니다.
fn 함수이름(매개변수: 타입) -> 반환타입 {
return 값;
}
✅ 1) 반환값이 있는 함수
fn add(a: i32, b: i32) -> i32 {
return a + b;
}
fn main() {
let result = add(3, 5);
println!("3 + 5 = {}", result);
}
📝 설명:
- fn add(a: i32, b: i32) -> i32 → a와 b는 i32 타입 정수, 반환값도 i32
- return a + b; → a + b 값을 반환
- let result = add(3, 5); → 3 + 5의 결과를 result에 저장
- println!()으로 결과 출력
🏃 실행 결과
3 + 5 = 8
✅ 2) return 생략 가능
Rust에서는 마지막 줄이 자동 반환됩니다.
fn add(a: i32, b: i32) -> i32 {
a + b // 세미콜론(;) 없으면 return 생략 가능
}
이렇게 써도 같은 결과가 나옵니다.
🎯 6. 함수 정리
기능 | 예제 |
기본 함수 | fn hello() { println!("Hello!"); } |
매개변수 있는 함수 | fn greet(name: &str) { println!("Hi, {}!", name); } |
반환값 있는 함수 | fn add(a: i32, b: i32) -> i32 { a + b } |
✅ 7. 연습 문제
직접 만들어 보면서 연습해 보세요!
🔹 문제 1: 두 숫자를 매개변수로 받아서 곱하는 함수 만들기
두 개의 숫자를 매개변수로 받아 곱한 값을 반환하는 함수를 만들어 보세요.
🔹 문제 2: 이름과 나이를 매개변수로 받아서 출력하는 함수 만들기
이름(&str)과 나이(i32)를 매개변수로 받아 출력하는 함수를 만들어 보세요.
이상으로 함수에 대해 알아보았습니다.
[ Rust ] 러스트 프로그램 언어 관련 글 목록입니다.
러스트 프로그램 언어 관련한 글 목록입니다. 러스트(Rust)는 어떤 프로그램 언어인가?윈도우에 러스트(Rust)를 설치해 보았습니다.'Hello, Rust!' 출력 프로그램을 작성해 보았습니다.카고(Cargo)에 대
hb-love-each-other.tistory.com
한국 러스트 사용자 그룹
rust-kr.org
Rust Programming Language
A language empowering everyone to build reliable and efficient software.
www.rust-lang.org
'컴퓨터에서는' 카테고리의 다른 글
인공지능을 활용해서 무료 챗봇을 만들 수 있는 방법이 있나요? (2) | 2025.03.14 |
---|---|
[ Python ] REST API vs. WebSocket API (8) | 2025.03.13 |
[ Rust ] 초급 문법 : 2. 데이터 타입 – 정수, 부동소수점, 불리언, 문자, 튜플, 배열 등 기본 타입 (0) | 2025.03.07 |
[ Rust ] 초급 문법 : 1. 변수와 상수 (let, const) – 변수와 상수를 선언하는 방법 (2) | 2025.03.06 |
[ Rust ] 러스트의 문법에는 어떠한 것들이 있을까요? (4) | 2025.03.06 |
댓글