Rust에서 정수를 인쇄할 때 컴파일 오류

Nilesh Katuwal 2023년6월21일
  1. Rust의 컴파일 오류
  2. Rust에서 기본 유형의 필드에 액세스
  3. Rust에서 두 개의 정수 추가하기
Rust에서 정수를 인쇄할 때 컴파일 오류

이 글은 Rust v0.13.0에서 정수를 인쇄하려고 할 때 컴파일 오류를 피하는 방법에 관한 것입니다.

Rust의 컴파일 오류

컴파일 오류는 코드의 결함 또는 더 자주 컴파일러 문제로 인해 컴파일러가 컴퓨터 프로그램 소스 코드의 일부를 빌드하는 데 어려움을 겪을 때 발생합니다.

Rust v0.13.0의 컴파일 오류를 피하려면 명시적으로 정수 유형을 지정해야 합니다.

예제 코드:

fn main(){
    let x = 10;
    println!("x = {}", x);
}

출력:

x = 10

코드는 Rust v0.13.0이 포함된 새 컴파일러에서 작동합니다. i32를 명시적으로 지정할 필요가 없습니다. 그러나 i32를 사용하여 컴파일 오류 없이 정수를 인쇄할 수 있습니다.

예제 코드:

fn main(){
    let x: i32 = 15;
    println!("x = {}", x);
}

출력:

x = 15

Rust에서 기본 유형의 필드에 액세스

오류가 있는 코드 예:

let x: u32 = 0;
println!("{}", x.foo);

위의 코드에는 오류가 있으며 정수를 인쇄하지 않습니다.

정수 값을 인쇄하는 올바른 코드는 다음과 같습니다.

// We declare a struct called `Foo`, which contains two fields:
struct Foo {
    x: u32,
    y: i64,
}

fn main()
{
    let variable = Foo { x: 0, y: 1 };
    println!("x: {}, y: {}", variable.x, variable.y);

}

우리는 xy라는 두 개의 필드를 포함하는 Foo라는 struct를 선언합니다. 해당 필드에 액세스하기 위해 Foo 인스턴스를 생성했습니다.

출력:

x: 0, y: 1

Rust에서 두 개의 정수 추가하기

두 개의 정수를 더하고 그 결과를 출력하기 위해 아래 코드를 사용하여 컴파일 오류를 피할 수 있습니다.

예제 코드:

fn main() {
  let x: i32 = 20;
  let y: i32 = 40;

  let sum = return_sum(x,  y);
  println!("The sum is = {}", sum);
}

fn return_sum(i: i32, j: i32) -> i32 {
  i + j
}

출력:

The sum is = 60