Heim >Backend-Entwicklung >Golang >Warum erlaubt Go die Kompilierung mit ungenutzten Funktionsparametern, aber nicht mit ungenutzten Variablen?
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; }
Trotz des Fehlens einer offiziellen Erklärung deutet eine Begründung eines Go-Mitarbeiters darauf hin:
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 }
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!