Worin unterscheiden sich fmt.Println() und println() in Go? Wann verwendet man was?
Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und mir ist aufgefallen, dass man für die Ausgabe in die Konsole sowohl `fmt.Println()` als auch einfach `println()` verwenden kann. Zum Beispiel funktionieren beide dieser Varianten:\n\n```go\npackage main\n\nfunc main() {\n fmt.Println("Hallo, Welt!")\n println("Hallo, Welt!")\n}\n```\n\nAber mir ist aufgefallen, dass in den meisten Beispielen und Tutorials `fmt.Println()` verwendet wird. Gleichzeitig ist `println()` auch in der Standardbibliothek vorhanden (oder ist es eine eingebaute Funktion?). Mich verwirrt, dass:\n\n1. Bei der Verwendung von `fmt.Println()` muss das Paket `fmt` importiert werden, während `println()` ohne Import funktioniert.\n2. `fmt.Println()` kann komplexe Datentypen (Slices, Strukturen) ausgeben, und `println()` scheinbar auch.\n3. Aber ich habe gehört, dass `println()` nicht ganz "sauberes" Go ist und nicht für die Produktion empfohlen wird.