Junior — Middle
Wie wird die Übergabe von Standardwerten in Funktionsparametern in der Programmiersprache Go implementiert?
sobes.tech KI
Antwort von AI
In der Programmiersprache Go gibt es keine eingebaute Unterstützung für Funktionsparameter mit Standardwerten, wie sie in einigen anderen Sprachen (z.B. Python oder C++) vorhanden ist. Um ein ähnliches Verhalten zu implementieren, verwendet man in der Regel eine der folgenden Ansätze:
- Funktionsüberladung durch variable Parameter — eine variable Anzahl von Argumenten an die Funktion übergeben und intern prüfen:
func greet(name string, messages ...string) {
msg := "Hello"
if len(messages) > 0 {
msg = messages[0]
}
fmt.Println(msg, name)
}
// Aufrufe:
greet("Alice") // Hello Alice
greet("Bob", "Hi") // Hi Bob
- Verwendung von Strukturen mit Konfigurationen — eine Struktur mit Parametern an die Funktion übergeben, bei deren Erstellung Standardwerte gesetzt werden können:
type Config struct {
Timeout int
}
func doSomething(cfg Config) {
if cfg.Timeout == 0 {
cfg.Timeout = 30 // Standardwert
}
// ...
}
// Aufruf:
doSomething(Config{})
- Erstellung von Hilfsfunktionen (Konstruktoren) mit unterschiedlichen Parameter-Sets.
Auf diese Weise werden Standardwerte in Go durch explizite Logik innerhalb der Funktion oder durch Strukturen realisiert, nicht durch die Syntax der Sprache.