0Pricing
Go Academy · Lektion

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 bool sein
  • 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

  1. if-Anweisungen und Init-Ausdrücke
  2. Die for-Schleife: alle Varianten
  3. switch-Anweisungen in Go
  4. break, continue und Labels
← Zurück zu Go Academy