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.