Blog

Hallo Rust - Eine Programmiersprache lernen

Dennis Vriend

Aktualisiert Oktober 22, 2025
3 Minuten

Meiner Meinung nach ist das Beste daran, ein Entwickler zu sein, das Erlernen einer neuen Programmiersprache. Etwas Neues zu lernen bringt Sie aus Ihrer Komfortzone heraus, Sie machen Fehler und während Sie die neue Syntax und die neuen Konzepte lernen, beginnen Sie die Sprache zu schätzen. Das Erlernen einer neuen Sprache ist sicherlich eine Herausforderung und Herausforderungen machen Spaß! Werfen wir einen kurzen Blick auf Hello World mit Rust!

Hallo Rost

In meinem letzten Blog über Rust haben wir uns Cargo angesehen - das Build-Tool für Rust. Cargo verwaltet Rust-Codebasen, indem es das Rust-Modulsystem namens Crates einführt. Es gibt 'binary' Crates für Anwendungen und 'library' Crates für Bibliotheken! Lassen Sie uns eine Hello World 'binary' Crate erstellen:

$ pwd
~/projects

# create a new project
$ cargo new hello-rust

cd hello-rust
$ cargo run
Hello, world!

Bearbeiten Sie 'src/main.rs' und ändern Sie es in:

fn main() {
    let xs = [1, 2, 3, 4, 5];
    for x in &xs {
        print!("{} ", x);
    }
    println!("Hello, world!");
}

Ausgänge:

$ cargo run
1 2 3 4 5 Hello, world!

SegFaults?

In dem Blog Rückblick auf C und C++ haben wir uns angesehen, wie einfach es ist, illegal auf den Speicher zuzugreifen und dadurch einen Anwendungsabsturz zu verursachen. Da Rust eine moderne Systemprogrammiersprache ist, frage ich mich, ob das auch bei Rust möglich ist.

fn main() {
    let mut xs = [1, 2, 3, 4, 5];

    // surprise!
    xs[10] = 10;
    let x = xs[100];
    println!("{}", x);
}

Ausgänge:

$ cargo run
   Compiling hello-rust v0.1.0 (/Users/dennis/projects/hello-rust)
error: index out of bounds: the len is 5 but the index is 10
 --> src/main.rs:3:5
  |
3 |     xs[10] = 10;
  |     ^^^^^^
  |
  = note: #[deny(const_err)] on by default

error: index out of bounds: the len is 5 but the index is 100
 --> src/main.rs:4:13
  |
4 |     let x = xs[100];
  |             ^^^^^^^

error: aborting due to 2 previous errors

error: Could not compile hello-rust.

Perfekt! Das Beispiel lässt sich nicht kompilieren und gibt Rückmeldung über das Problem und wie man es beheben kann.

Abhängigkeiten

Fügen wir eine Abhängigkeit zur Erstellung von Zufallszahlen hinzu. Bearbeiten Sie die Datei und fügen Sie die Kiste (Bibliothek) hinzu. Mir gefällt die Terminologie!

[package]
name = "hello-rust"
version = "0.1.0"
authors = ["Dennis Vriend <dnvriendvriend@binx.io>"]
edition = "2018"

[dependencies]
rand = "0.3.14"

Um die Kiste zu verwenden, müssen wir sie bei Rust registrieren. Wir verwenden die Schlüsselwörter . Dann bringen wir 'io::Rng' mit dem Schlüsselwort in den Anwendungsbereich. Anschließend durchlaufen wir 10 Schleifen und geben eine zufällig generierte Zahl aus.

extern crate rand;

use rand::Rng;

fn main() {
    for x in 1..11 {
        let random_number = rand::thread_rng()
            .gen_range(1, 101);
        println!("{} -> {}", x, random_number)
    }
}

Ausgänge:

$ cargo run
   Compiling hello-rust v0.1.0 (/Users/dennis/projects/hello-rust)
    Finished dev [unoptimized + debuginfo] target(s) in 0.55s
     Running target/debug/hello-rust
1 -> 89
2 -> 2
3 -> 75
4 -> 84
5 -> 3
6 -> 56
7 -> 82
8 -> 66
9 -> 17
10 -> 76

Fazit

In diesem Blog haben wir ein Hallo-Welt-Beispiel erstellt. Dann haben wir versucht, die Anwendung durch illegalen Speicherzugriff (Segfault) zum Absturz zu bringen, aber der Rust-Compiler verhindert dies. Wir haben dann eine externe Abhängigkeit 'rand' importiert, die Zufallszahlengeneratoren bereitstellt. Wir haben 10 Zufallszahlen generiert und das Ergebnis auf der Konsole ausgegeben. Wir haben Cargo, das Rust-Build-Tool, verwendet, um alle Beispiele zu erstellen.
Ich mache immer noch viele Anfängerfehler, aber ich bleibe dran und habe in der Zwischenzeit viel Spaß!

Verfasst von

Dennis Vriend

Contact

Let’s discuss how we can support your journey.