Kompilierungsfehler beim Drucken einer Ganzzahl in Rust

Nilesh Katuwal 21 Juni 2023
  1. Kompilierungsfehler in Rust
  2. Greifen Sie auf ein Feld auf einem primitiven Typ in Rust zu
  3. Addiere zwei ganze Zahlen in Rust
Kompilierungsfehler beim Drucken einer Ganzzahl in Rust

In diesem Artikel geht es darum, Kompilierungsfehler beim Versuch, eine Ganzzahl in Rust v0.13.0 zu drucken, zu vermeiden.

Kompilierungsfehler in Rust

Ein Kompilierungsfehler tritt auf, wenn ein Compiler Schwierigkeiten hat, einen Teil des Quellcodes eines Computerprogramms zu erstellen, entweder aufgrund von Fehlern im Code oder häufiger aufgrund von Compilerproblemen.

Um den Kompilierungsfehler in Rust v0.13.0 zu vermeiden, müssen wir explizit einen Integer-Typ angeben.

Beispielcode:

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

Ausgang:

x = 10

Der Code wird im neuen Compiler mit Rust v0.13.0 funktionieren; wir müssen i32 nicht explizit angeben. Wir können jedoch i32 verwenden, um die Ganzzahl ohne Kompilierungsfehler zu drucken.

Beispielcode:

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

Ausgang:

x = 15

Greifen Sie auf ein Feld auf einem primitiven Typ in Rust zu

Codebeispiel mit Fehler:

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

Der obige Code enthält Fehler und gibt die Ganzzahlen nicht aus.

Der richtige Code zum Drucken des Werts von Ganzzahlen lautet:

// 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);

}

Wir deklarieren ein struct namens Foo, das zwei Felder enthält: x und y. Wir haben eine Instanz von Foo erstellt, um auf seine Felder zuzugreifen.

Ausgang:

x: 0, y: 1

Addiere zwei ganze Zahlen in Rust

Der Kompilierungsfehler kann mit dem folgenden Code zum Addieren von zwei Ganzzahlen und Drucken des Ergebnisses vermieden werden.

Beispielcode:

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
}

Ausgang:

The sum is = 60