러스트 함수의 시작지점
main
함수로부터 시작한다.main
함수를 기점으로 어떠한 함수든 연계하여 불러올 수 있다.
러스트 함수 컨벤션
스네이크 케이스(snake-case)
를 사용한다.- 함수 선언은
fn
으로 한다.
fn main() {
println!("Hello, world!");
another_function();
}
fn another_function() {
println!("Another function.");
}
$ cargo run
Compiling functions v0.1.0 (file:///projects/functions)
Finished dev [unoptimized + debuginfo] target(s) in 0.28 secs
Running `target/debug/functions`
Hello, world!
Another function.
러스트 함수 매개변수
- 인자 (Argument) 에는 타입이 없다.
- 매개변수 (Parameter) 에는 타입이 필수이다.
fn main() {
another_function(5);
}
fn another_function(x: i32) {
println!("The value of x is: {}", x);
}
$ cargo run
Compiling functions v0.1.0 (file:///projects/functions)
Finished dev [unoptimized + debuginfo] target(s) in 1.21 secs
Running `target/debug/functions`
The value of x is: 5
fn main() {
another_function(5, 6);
}
fn another_function(x: i32, y: &str) {
println!("The value of x is: {}", x);
println!("The value of y is: {}", y);
}
매개변수는 각각 다른 타입이어도 상관 없다.
함수 내부 표현식의 값 반환
fn main() {
let x = 5;
let y = {
let x = 3;
x + 1
};
println!("The value of x is: {}", x);
println!("The value of y is: {}", y);
}
- 위의 경우
y
블록에서4
를 반환한다. - 표현식 끝에 세미콜론이 없는 것은 값 반환을 의미한다.
- 만일 마지막 줄(
x + 1
)에 세미콜론을 넣었다면, 반환 값이 없어 에러가 날 것이다.
반환 값을 갖는 함수
- 반환 값을 갖는 함수를 만드려면, 화살표 함수(Arrow Function) 를 사용하면 된다.
- 표현식이 되어야 하기 때문에 맨 끝 세미콜론은 없어야 한다.
fn five() -> i32 {
5
}
fn main() {
let x = five();
println!("The value of x is: {}", x);
}
반응형
'러스트 (Rust)' 카테고리의 다른 글
러스트 (Rust) 의 반복문 정리 (0) | 2022.11.01 |
---|---|
러스트 (Rust) 의 제어문 문법 정리 (0) | 2022.11.01 |
러스트 (Rust) 의 데이터 타입 종류 (Data types) (0) | 2022.11.01 |
러스트의 섀도잉(Shadowing) 혹은 쉐도우(Shadow) 란? (1) | 2022.11.01 |
러스트 (Rust) 컴파일러 설치 방법 (0) | 2022.10.31 |