Avatar ·

Wie implementiert man Standardfunktionsargumente in Rust?

Hallo Kollegen! Ich bin neu in Rust und wechsle von Python, wo man einfach Funktionen mit Standardargumenten schreiben kann:

def greet(name, greeting="Hallo"):
    print(f"{greeting}, {name}!")

Jetzt versuche ich dasselbe in Rust zu machen, aber der Compiler meckert. Hier ist mein Code:

fn greet(name: &str, greeting: &str = "Hallo") {
    println!("{}, {}!", greeting, name);
}

Der Compiler gibt einen Fehler aus: expected identifier, found `=`. Ich verstehe, dass es in Rust keine Syntax für Standardargumente gibt, aber wie löse ich dieses Problem? Ich brauche, dass die Funktion sowohl mit einem Argument (dann ist die Standardbegrüßung "Hallo") als auch mit zwei Argumenten arbeiten kann.

Ich habe bereits versucht, function overloading zu verwenden, aber Rust unterstützt das nicht.