Rust 함수

Rust 함수

함수

Rust에서 함수(function)를 선언하기 위해서는 "fn" 키워드를 사용한다.

fn main() {
    write_header();
}

fn write_header() {
    println!("Copyright (c) rust-lang.xyz");
}
  • 함수는 "fn" 키워드로 정의한다.
  • 함수명과 변수명은 소문자의 snake case를 사용한다. 예를 들어, create_log, place_bid_or_fail.
  • 함수를 외부에서 사용할 수 있도록 pub fn와 같이 정의할 수 있다.
  • 피호출 함수는 호출함수 뒤에 와도 상관없다. 즉, 함수의 위치는 무관하다.

함수 파라미터

Rust에서 함수 파라미터는 함수명 뒤의 괄호 안에 "파라미터명: 데이타타입" 과 같은 방식으로 정의되고, 복수 개의 파라미터가 있는 경우 콤마로 구분한다. 아래 예제는 3개의 파라미터를 받아들이고 있는데, 각 파라미터명 뒤에 데이타타입을 명시하고 있다. 컴파일러는 이 파라미터 타입을 보고 잘못된 데이타가 전달되는지 체크(type checking)하게 된다.

fn main() {
    print_data(101, 'F', true);
}

fn print_data(id: i16, score: char, retest: bool) {
    println!("ID: {}, SCORE: {}, RETEST: {}", id, score, retest);
}

함수 리턴

Rust에서 함수가 값을 리턴할 경우 함수 파라미터들이 지정된 괄호 뒤에 화살표(->)를 넣은 후 리턴타입을 지정하게 된다. 여기서 리턴 변수명은 지정하지 않고 리턴되는 데이타 타입만을 지정한다. 아래 예제는 add() 함수가 2개의 정수를 받아들여 그 합을 리턴하는 예이다.

fn main() {
    let c = add(1, 2);
    println!("{}", c);
}

fn add(a: i32, b: i32) -> i32 {
    dbg!(a, b);
    return a + b;
}

This site is not affiliated with or endorsed by the Rust Foundation or Rust Project.