Heim > Backend-Entwicklung > Golang > Warum erlaubt Go die Kompilierung mit ungenutzten Funktionsparametern, aber nicht mit ungenutzten Variablen?

Warum erlaubt Go die Kompilierung mit ungenutzten Funktionsparametern, aber nicht mit ungenutzten Variablen?

DDD
Freigeben: 2024-12-29 19:31:11
Original
578 Leute haben es durchsucht

Why Does Go Allow Compilation with Unused Function Parameters but Not Unused Variables?

Warum Go die Kompilierung mit nicht verwendeten Parametern in Funktionen zulässt

Beim Übergang von C zu Go besteht ein bemerkenswerter Unterschied darin, dass Go die Kompilierung mit nicht verwendeten Parametern verbietet Variablen innerhalb von Funktionen. Diese Regel widerspricht jedoch scheinbar der erfolgreichen Kompilierung des folgenden Codes mit einem nicht verwendeten Funktionsparameter:

func main() {
    print(computron(3, -3));
}

func computron(param_a int, param_b int) int {
    return 3 * param_a;
}
Nach dem Login kopieren

Trotz des Fehlens einer offiziellen Erklärung deutet eine Begründung eines Go-Mitarbeiters darauf hin:

  • Verhinderung von Programmierfehlern: Nicht verwendete Variablen sind von Natur aus problematisch, während nicht verwendete Funktionsparameter für verschiedene an der Tagesordnung sind Gründe.
  • Klare Dokumentation:Nicht verwendete Parameternamen tragen zur Funktionsdokumentation bei, auch wenn sie nicht im Code der Funktion verwendet werden.

Ein weiterer Anwendungsfall für nicht verwendete Parameter liegt in der Implementierung von Schnittstellen. Beispielsweise kann eine Diagrammfunktion mit einheitlichem Gewicht Knotenwerte außer Acht lassen:

func (graph *MyGraph) Distance(node1,node2 Node) int {
    return 1
}
Nach dem Login kopieren

Es kann zwar argumentiert werden, nicht verwendete Parameter auf die mit „_“ genannten Parameter zu beschränken, die Zukunftskompatibilitätsgarantie von Go 1 schließt dies jedoch aus so eine Veränderung. Darüber hinaus stellen nicht verwendete Parameter eine implizite Dokumentation bereit, was das Verständnis und die Wartung der Codebasis erleichtert.

Zusammenfassend lässt sich sagen, dass das Fehlen eines konkreten Grundes darauf hindeutet, dass Gos Entscheidung, die Kompilierung mit nicht verwendeten Funktionsparametern zuzulassen, auf einer begründeten, wenn auch willkürlichen Entscheidung beruhte , Urteil, dass sie wertvoller sind, als ihre Anwesenheit zu verbieten.

Das obige ist der detaillierte Inhalt vonWarum erlaubt Go die Kompilierung mit ungenutzten Funktionsparametern, aber nicht mit ungenutzten Variablen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage