강좌05-함수

최대 1 분 소요

함수의 기본 사용법은 javascript와 유사하나 rust에서는 function 대신 fn을 사용합니다.

  fn main() {
  }

1. 파라미터

  fn main() {
      another_function(5);
  }

  fn another_function(x: i32) {
      println!("The value of x is: {}", x);
  }

반드시 파라미터에 형을 정의하여야 합니다.
그렇지 않으면 에러가 발생하므로 javascript 개발자는 유의하여야 합니다.

2. 리턴

rust에서 리턴은 javascript와 달리 return을 생략하고 세미콜론(;)도 빼야 합니다.

  fn five() -> i32 {
      5
  }

  fn plus_one(x: i32) -> i32 {
      x + 1
  }

  fn main() {
      let x = five();

      println!("The value of x is: {}", x);
  }

fn five() -> i32에서 i32가 리턴형을 의미합니다.

3. Attribute

  • 조건부 실행

#[cfg(조건)] 을 사용하면 조건이 허용될 때만 함수가 실행됩니다.
아래 예시는 windows 일 때만 실행되며, 아닐 경우 에러가 발생하는 코드입니다.

fn main() {
 on_windows();
}

#[cfg(target_os = "windows")]
fn on_windows() {
 println!("This OS is windows.")
}

// 결과 - os가 windows 일 때,
This OS is windows.

// 결과 - os가 linux 일 때,
   |
2 |  on_windows();
   |  ^^^^^^^^^^ not found in this scope
  • Testing #[test] 로 사용하며 함수가 수행 가능한지 테스트합니다.
    rustc나 cargo로 다음과 같이 테스트할 수 있습니다.
rustc --test [파일명]

또는

cargo test

#[] 문법에 대해서는 나중에 더 자세히 다루도록 하겠습니다.

댓글남기기