Um ein erstes Programm zu schreiben, muss eine Datei mit der Endung .rs
erstellt werden. In dieser Datei kann dann der folgende Code geschrieben werden:
fn main() {
println!("Hello World!");
}
Um das Programm zu kompilieren, muss folgender Befehl ausgeführt werden:
rustc main.rs
Dieser Befehl erzeugt eine ausführbare Datei mit dem Namen main
. Diese kann dann mit folgendem Befehl ausgeführt werden:
./main
Dieser Befehl sollte Hello World!
ausgeben.
fn main() { // Programm startet hier
println!("Hello, world!"); // Ausgabe von Text auf der Konsole ausgeben Hello, world!
} // Programm endet hier
let a="Hallo"; // Variable a wird erstellt und mit dem Wert Hallo belegt
let b=format!("{} Welt!",a); // Variable b wird erstellt und mit dem Wert Hallo Welt! belegt
println!("{}",b); // Ausgabe von Text auf der Konsole ausgeben Hallo Welt!
fn main() { // Programm startet hier
// Konsole eingabe einlesen
println!("Wie heißt du?"); // Text ausgeben
let mut input = String::new(); // Leere Zeichenkette mit Namen input erstellen und veränderbar machen
std::io::stdin().read_line(&mut input).unwrap(); // Zeichenkette von der Konsole einlesen und in input speichern
// Eingabe ausgeben
println!("Hallo {}!", input); // Eingabe ausgeben
}
Eine Zeichenkette ist eine Folge von Zeichen. In Rust wird eine Zeichenkette mit dem Datentyp String
dargestellt. Eine Zeichenkette kann mit folgendem Code erstellt werden:
let a = String::from("Hallo Welt!");
Eine Zeichenkette kann mit dem Befehl println!
ausgegeben werden:
let a = String::from("Hallo Welt!");
println!("{}", a);
Um eine Zeichenkette einzulesen, muss eine Variable vom Typ String
erstellt werden. Diese kann dann mit dem Befehl read_line
eingelesen werden:
let mut a = String::new();
std::io::stdin().read_line(&mut a).unwrap();
Unwrap ist eine Funktion, die einen Wert aus einem Result
-Objekt extrahiert. Wenn das Result
-Objekt den Wert Ok
enthält, wird der Wert zurückgegeben. Wenn das Result
-Objekt den Wert Err
enthält, wird das Programm mit einer Fehlermeldung beendet.
Ein Result
-Objekt ist ein Objekt, das entweder den Wert Ok
oder den Wert Err
enthält. Wenn das Result
-Objekt den Wert Ok
enthält, ist alles in Ordnung. Wenn das Result
-Objekt den Wert Err
enthält, ist etwas schief gelaufen.
String::from
ist eine Funktion, die eine Zeichenkette erstellt. Sie kann mit folgendem Code aufgerufen werden:
let a = String::from("Hallo Welt!");
Ganzzahlen sind Zahlen, die keine Nachkommastellen haben. In Rust werden Ganzzahlen mit dem Datentyp i32
dargestellt. Eine Ganzzahl kann mit folgendem Code erstellt werden:
let a = 42;
Eine Ganzzahl kann mit dem Befehl println!
ausgegeben werden:
let a = 42;
println!("{}", a);
Rust ist eine statisch typisierte Sprache. Das bedeutet, dass jede Variable einen festen Datentyp hat. Der Datentyp einer Variable kann mit dem Befehl type_of
ermittelt werden:
let a = 42;
println!("{}", std::any::type_name_of_val(&a));
let a: i8 =0; // 8-Bit Ganzzahl mit Vorzeichen,variable a wird erstellt und mit dem Wert 0 belegt
let a: i16 =0; // 16-Bit Ganzzahl mit Vorzeichen,variable a wird erstellt und mit dem Wert 0 belegt
let a: i32 =0; // 32-Bit Ganzzahl mit Vorzeichen,variable a wird erstellt und mit dem Wert 0 belegt
let a: i64 =0; // 64-Bit Ganzzahl mit Vorzeichen,variable a wird erstellt und mit dem Wert 0 belegt
let a: i128 =0; // 128-Bit Ganzzahl mit Vorzeichen,variable a wird erstellt und mit dem Wert 0 belegt
let a: u8 =0; // 8-Bit Ganzzahl ohne Vorzeichen,variable a wird erstellt und mit dem Wert 0 belegt
let a: u16 =0; // 16-Bit Ganzzahl ohne Vorzeichen,variable a wird erstellt und mit dem Wert 0 belegt
let a: u32 =0; // 32-Bit Ganzzahl ohne Vorzeichen,variable a wird erstellt und mit dem Wert 0 belegt
let a: u64 =0; // 64-Bit Ganzzahl ohne Vorzeichen,variable a wird erstellt und mit dem Wert 0 belegt
let a: u128 =0; // 128-Bit Ganzzahl ohne Vorzeichen,variable a wird erstellt und mit dem Wert 0 belegt
let a: f32 =0.0; // 32-Bit Gleitkommazahl,variable a wird erstellt und mit dem Wert 0.0 belegt
let a: f64 =0.0; // 64-Bit Gleitkommazahl,variable a wird erstellt und mit dem Wert 0.0 belegt
let a: bool =true; // Boolescher Wert,variable a wird erstellt und mit dem Wert true belegt
let a: char ='a'; // Zeichen,variable a wird erstellt und mit dem Wert a belegt
let a: String ="Hallo Welt!"; // Zeichenkette,variable a wird erstellt und mit dem Wert Hallo Welt! belegt