Heim >Backend-Entwicklung >Golang >Warum meldet Go 1.18 „nicht deklarierter Name: beliebig'?

Warum meldet Go 1.18 „nicht deklarierter Name: beliebig'?

Susan Sarandon
Susan SarandonOriginal
2024-12-07 18:19:15687Durchsuche

Why Does Go 1.18 Report

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn