Wenn die Rückgabevariable in der Rückgabewertliste definiert wurde, verwenden Sie := nicht im if und deklarieren Sie diese Variable erneut.

Schauen wir uns diesen Geschäftscode an:

 

 Die Hauptlogik des Codes besteht darin, die Community in der Datenbank basierend auf dem ID-Wert zu finden. Der Schlüssel ist Zeile 26. Meine ursprüngliche Absicht ist, dass db.Get die Community nicht aus der Datenbank abruft und es sich um ein sql.ErrNoRows handelt Fehler, dann ist err natürlich ErrorInvalidID und wird natürlich nicht verwendet. Null, da wir err in der Rückgabewertliste deklariert haben, ist der zurückgegebene Fehler ebenfalls Null. Wenn die obere Ebene diese Funktion aufruft und feststellt, dass err nicht leer ist , es wird natürlich die entsprechende Fehlerlogik geben, aber die obere Schicht tut dies nicht. Dies bedeutet, dass der Fehler, den wir zurückgeben, nicht Null ist!

Wenn Sie vorsichtig sind, müssen Sie bemerkt haben, dass der Fehler in Zeile 26 grün ist, das ist richtig! Der Fehler liegt in Zeile 26!

Da wir err bereits in der Rückgabewertliste deklariert haben und Zeile 26 err := der Deklaration einer anderen temporären Variable err entspricht, sind diese beiden err nicht ein err! ! !

Der richtige Weg besteht also darin, das := in Zeile 26 in = zu ändern

 

 

Acho que você gosta

Origin blog.csdn.net/qq_55621259/article/details/128153952
Recomendado
Clasificación