Undeclared Name „any“-Fehler in Go 1.18
Beim Versuch, „any“ für „interface{}“ in Ihrem Go-Code zu ersetzen, während Sie Go verwenden 1.18-Toolchain können Sie auf Folgendes stoßen Fehler:
undeclared name: any (requires version go1.18 or later)
Ursache
Dieser Fehler tritt auf, weil „any“ eine neue Ergänzung der Go-Sprache ist, die in Version 1.18 eingeführt wurde. Ihr Code erfordert möglicherweise eine höhere Version von Go, um diese Funktion nutzen zu können.
Lösung
Um diesen Fehler zu beheben, stellen Sie sicher, dass in Ihrer go.mod-Datei eine entsprechende Go-Version angegeben ist bis oder größer als 1,18. Ändern Sie beispielsweise Ihre go.mod-Datei wie folgt:
module example.com/foo go 1.18
Modulversionskontrolle
Die go.mod-Datei jedes Moduls regelt die Version von Go, die während der Kompilierung verwendet wird . Dies ermöglicht eine schrittweise Übernahme von Sprachänderungen, wobei die Modulautoren ihr bevorzugtes Integrationstempo wählen können. Weitere Informationen finden Sie im Go-Sprachänderungen-Designdokument.
Beispiel
Um diesen Fehler zu veranschaulichen, sehen Sie sich das folgende Go-Playground-Beispiel an, das ein bearbeitbares Go enthält .mod-Datei:
https://go.dev/play/p/au6TtTvNsRy
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Go 1.18 die Fehlermeldung „Nicht deklarierter Name ‚beliebig''?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!