Heim >Backend-Entwicklung >Golang >Wie kann ich interface{} in Go sicher in int umwandeln?
Schnittstelle{} in Int umwandeln
Wenn Sie einen Wert aus JSON extrahieren und versuchen, ihn in eine Ganzzahl umzuwandeln, kann ein Fehler auftreten Dies zeigt an, dass eine Schnittstelle {} nicht direkt in int konvertiert werden kann. Um dieses Problem zu beheben, ist eine Typzusicherung erforderlich.
Im bereitgestellten Codebeispiel verursacht die Zeile:
iAreaId := int(val)
einen Fehler, da val eine Schnittstelle{} ist, die nicht direkt umgewandelt werden kann zu int. Stattdessen ist eine Typzusicherung erforderlich:
iAreaId := val.(int)
Diese Typzusicherung wandelt den Wert von val zwangsweise in einen int um. Alternativ können Sie die nicht in Panik geratene Version verwenden:
iAreaId, ok := val.(int)
Durch die Einbeziehung der ok-Variablen können Sie überprüfen, ob die Behauptung erfolgreich war, bevor Sie fortfahren.
Außerdem ist es wichtig, dies zu beachten Explizite Konvertierungen können nur durchgeführt werden, wenn die zugrunde liegenden Typen von Quelle und Ziel kompatibel sind, wie in der Go-Sprachspezifikation definiert.
Das obige ist der detaillierte Inhalt vonWie kann ich interface{} in Go sicher in int umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!