Heim >Backend-Entwicklung >Golang >Warum meldet Go 1.18 „nicht deklarierter Name: beliebig'?
Warum verursacht „any“ den Fehler „undeclared name“ bei Verwendung von Go 1.18?
Beim Versuch, „any“ durch „any“ zu ersetzen interface{}“, Go 1.18-Benutzer können auf den Fehler „nicht deklarierter Name: beliebig“ stoßen (erfordert Version go1.18 oder höher). Dieser Fehler entsteht aufgrund einer Diskrepanz zwischen der in Ihrer go.mod-Datei angegebenen Go-Version und der von Ihnen verwendeten Go-Version.
Das Schlüsselwort „any“ wurde in Go 1.18 eingeführt. Um es zu verwenden, muss Ihre go.mod-Datei eine Go-Version von 1.18 oder höher angeben. Wenn Ihre go.mod-Datei eine Version unter 1.18 deklariert, beispielsweise 1.17, tritt der Fehler auf.
Lösung:
Um diesen Fehler zu beheben, passen Sie Ihr go an .mod-Datei, um die von Ihnen verwendete Go-Version (1.18 oder höher) widerzuspiegeln. Wenn Ihre go.mod-Datei beispielsweise lautet:
module example.com/foo go 1.17
Ändern Sie sie wie folgt:
module example.com/foo go 1.18
Diese Änderung ermöglicht es Ihrem Code, das Schlüsselwort „any“ zu verwenden und den Fehler zu vermeiden. Beachten Sie, dass die go.mod-Datei jedes Moduls die für die Kompilierung verwendete Go-Version regelt. Dieser Ansatz ermöglicht es Modulautoren, Sprachverbesserungen schrittweise in ihrem bevorzugten Tempo einzuführen.
Ein praktisches Beispiel finden Sie unter dem folgenden Playground-Link: https://go.dev/play/p/au6TtTvNsRy. Hier können Sie die Datei go.mod bearbeiten, um den Fehler und seine Lösung zu demonstrieren.
Das obige ist der detaillierte Inhalt vonWarum meldet Go 1.18 „nicht deklarierter Name: beliebig'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!