if-Anweisungen und Init-Ausdrücke
Bedingungen mit optionalen Init-Anweisungen
if-Anweisungen und Init-Ausdrücke ist eine kostenlose Go Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Go Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Go Academy-Kurs umfasst insgesamt 4 Lektionen.
if in Go
Die if-Anweisung von Go wertet einen booleschen Ausdruck aus – Klammern sind nicht erforderlich, geschweifte Klammern jedoch zwingend:
if x > 0 {
// positive
}else und else if
Verketten Sie Bedingungen mit else if und behandeln Sie den Fallback mit else:
func classify(n int) string {
if n < 0 {
return "negative"
} else if n == 0 {
return "zero"
} else {
return "positive"
}
}if mit Init-Anweisung
Go erlaubt eine optionale Init-Anweisung vor der Bedingung – ideal, um temporäre Variablen auf einen begrenzten Gültigkeitsbereich zu beschränken:
if err := doSomething(); err != nil {
// err is only in scope here
return err
}Gültigkeitsbereiche mit einer Init-Anweisung
Variablen, die in der Init-Anweisung deklariert werden, sind auf den if/else-Block beschränkt. Dadurch gelangen Variablen nicht versehentlich in die umgebende Funktion:
func process(id int) error {
if val, err := lookup(id); err != nil {
return err
} else {
use(val) // val is in scope here
}
return nil
}Boolesche Ausdrücke
Die Bedingung in Go muss vom Typ bool sein – es gibt keine implizite Konvertierung:
- Gültig:
if count != 0 - Ungültig:
if count– führt in Go zu einem Kompilierungsfehler (anders als in C/JavaScript) - Dadurch werden häufige Fehler durch falsche Grenzwerte und Dereferenzierungen von nil vermieden
Prüfungen auf nil
Prüfen Sie Zeiger, Slices, Maps und Fehler mit == nil auf nil:
func greet(name *string) string {
if name == nil {
return "Hello, stranger"
}
return "Hello, " + *name
}Muster mit vorzeitigem Rückgabewert
Go bevorzugt ausdrücklich vorzeitige Rückgaben, um Verschachtelungen zu reduzieren (der sogenannte „Happy Path“ bleibt am linken Rand):
func save(user User) error {
if user.Name == "" {
return errors.New("name required")
}
if user.Age < 0 {
return errors.New("invalid age")
}
return db.Insert(user)
}Bedingungen kombinieren
Verwenden Sie && und ||, um Bedingungen zu kombinieren. Die Kurzschlussauswertung gilt auch hier – die rechte Seite wird nur ausgewertet, wenn sie benötigt wird:
if user != nil && user.IsActive() {
sendEmail(user)
}if oder switch
Wenn Sie viele Bedingungen für dieselbe Variable haben, ist switch in der Regel übersichtlicher. Verwenden Sie if, wenn:
- die Bedingungen unabhängige boolesche Ausdrücke sind
- Sie Init-Anweisungen mit Fehlerprüfungen benötigen
- Sie nur 1–2 Verzweigungen haben
if-else-Pyramiden vermeiden
Tief verschachtelte if-else-Blöcke beeinträchtigen die Lesbarkeit. Dagegen helfen:
- vorzeitige Rückgaben
switch-Anweisungen für mehrere Fälle- das Aufteilen der Logik in kleinere Funktionen
- Guard Clauses am Anfang einer Funktion
Kurze Überprüfung
Was ist am if-Statement von Go im Vergleich zu C einzigartig?
Zusammenfassung: if-Anweisungen
Die if-Anweisung von Go ist leistungsfähig und übersichtlich:
- Keine Klammern um die Bedingung – geschweifte Klammern sind erforderlich
- Die Init-Anweisung beschränkt Variablen auf den if/else-Block
- Die Bedingung muss strikt vom Typ
boolsein - Bevorzugen Sie vorzeitige Rückgaben gegenüber tiefer Verschachtelung
- Verwenden Sie
&&/||mit Kurzschlussauswertung
Als Nächstes: die vielseitige for-Schleife von Go.
Häufig gestellte Fragen
Ist die Lektion „if-Anweisungen und Init-Ausdrücke“ kostenlos?
Ja — der vollständige Text von „if-Anweisungen und Init-Ausdrücke“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Go Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Go Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „if-Anweisungen und Init-Ausdrücke“?
Bedingungen mit optionalen Init-Anweisungen Du übst Go Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Go Academy zu starten?
Keine Vorkenntnisse erforderlich. Go Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „if-Anweisungen und Init-Ausdrücke“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Go Academy-Lektion Code schreiben und ausführen?
Ja. Jede Go Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- if-Anweisungen und Init-Ausdrücke
- Die for-Schleife: alle Varianten
- switch-Anweisungen in Go
- break, continue und Labels