Sobes.tech
Senior

Bei welcher Variante der Typumwandlung ist Panik möglich und welche Konstruktion ermöglicht es, sie zu vermeiden?

sobes.tech KI

Antwort von AI

Panik kann auftreten bei Typ-Assertion (Type Assertion), wenn der tatsächliche Typ des Wertes nicht mit dem erwarteten übereinstimmt. Zum Beispiel:

var i interface{} = "Zeichenkette"
// Der Versuch, in int zu konvertieren, löst eine Panik aus
n := i.(int) // Panic: Interface-Konvertierung: interface {} ist string, nicht int

Um Panik zu vermeiden, wird eine Konstruktion mit zwei Rückgabewerten verwendet — der zweite zeigt, ob die Konvertierung erfolgreich war:

n, ok := i.(int)
if !ok {
    // Fehlerbehandlung bei der Konvertierung
}

Auf diese Weise verhindert die sichere Typ-Assertion die Panik und ermöglicht eine korrekte Behandlung der Situation, wenn die Typen nicht übereinstimmen.