Warum haben println! und andere Makros in Rust ein Ausrufezeichen?
Hallo zusammen! Ich habe vor genau einer Woche angefangen, Rust zu lernen, und bin auf eine Frage gestoßen, die mich etwas verwirrt. Warum schreiben wir in Rust bei der Konsolenausgabe `println!` mit einem Ausrufezeichen? Ich bin Python, Java und C++ gewohnt, wo Funktionsaufrufe immer ohne Ausrufezeichen sind, z.B. `print()`, `System.out.println()` oder `std::cout <<`.
Ich habe mir Beispiele angesehen – überall steht `println!("Hello, world!");`. Ich habe versucht, einfach `println("Hello");` zu schreiben – der Compiler hat einen Fehler ausgegeben:
```
error[E0423]: expected function, found macro `println`
--> src/main.rs:2:5
|
2 | println("Hello");
| ^^^^^^^ not a function
```
Warum ist das so? Ist das eine spezielle Funktion? Oder ist das eine Besonderheit der Sprache? Ich habe gelesen, dass es in Rust Makros gibt, aber ich verstehe nicht ganz, wie sie sich von normalen Funktionen unterscheiden.
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen