Avatar ·

Wie setzt man Standardwerte für Strukturfelder in Go?

Hallo zusammen! Ich bin neu in Go und habe ein Problem: In Go gibt es keine Konstruktoren und keinen eingebauten Mechanismus, um Standardwerte für Strukturfelder anzugeben, wie zum Beispiel in Python oder PHP. Angenommen, ich habe eine Struktur für die App-Konfiguration: ```go type Config struct { Port int Timeout int Debug bool } ``` Ich möchte, dass standardmäßig `Port` 8080 ist, `Timeout` 30 Sekunden und `Debug` `false`. Aber wenn ich die Struktur `cfg := Config{}` erstelle, erhalten alle Felder Nullwerte (0, 0, false). Ich muss jedes Mal explizit alle Felder angeben: `cfg := Config{Port: 8080, Timeout: 30}`. Das ist umständlich, besonders wenn die Struktur viele Felder hat und ich möchte, dass einige von ihnen sinnvolle Standardwerte haben. Ich habe versucht, Struktur-Tags zu verwenden, aber sie scheinen die Initialisierung nicht zu beeinflussen. Gibt es eine Möglichkeit, Standardwerte direkt in der Strukturdefinition festzulegen? Oder muss ich eine Factory-Funktion schreiben? Aber dann muss ich für jede Struktur...