Wenn Sie Daten aus JSON abrufen und versuchen, sie in eine Ganzzahl umzuwandeln, wird möglicherweise eine Fehlermeldung angezeigt, die besagt, dass die Konvertierung nicht möglich ist eine Schnittstelle{} zu einem int. Dieser Fehler tritt aufgrund der Typzusicherungsregeln von Go auf.
In Ihrem Code befindet sich die folgende Zeile:
iAreaId := int(val)
Diese Zeile versucht, den Wert zu konvertieren, der die Typschnittstelle{ }, zu einem int mithilfe einer Typumwandlung. Allerdings ist die Typumwandlung einer Schnittstelle{} in ein int nicht zulässig.
Um dieses Problem zu beheben, müssen Sie stattdessen eine Typzusicherung verwenden:
iAreaId := val.(int)
Eine Typzusicherung extrahiert das zugrunde liegende Wert aus der Schnittstelle{}, wenn es den deklarierten Typ hat. Wenn der Wert nicht den deklarierten Typ hat, gerät die Typzusicherung in Panik.
Alternativ können Sie eine nicht in Panik geratene Version der Typzusicherung mit einem zweiten Rückgabewert verwenden:
iAreaId, ok := val.(int)
Die ok-Variable ist wahr, wenn die Typzusicherung erfolgreich war, und falsch, wenn sie nicht erfolgreich war.
Durch die korrekte Verwendung einer Typzusicherung können Sie eine erfolgreich konvertieren interface{} zu einem int in Go.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich interface{} sicher in int in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!