Heim >Backend-Entwicklung >Golang >Verfügt Go über einen echten „Infinite'-Aufrufstapel?
Frage:
Hat Go ein Äquivalent zum „Maximum Call“ von Node.JS? Stapel size“?
Antwort:
Ja, Go hat eine maximale Call-Stack-Größe, aber im Gegensatz zu Node.JS ist es kein festes Limit. In Go vergrößern Goroutinen ihre Stapelgröße dynamisch nach Bedarf. Dies erweckt den Eindruck eines „unendlichen“ Aufrufstapels, unterliegt jedoch weiterhin dem zugrunde liegenden Stapelspeicherlimit.
Frage:
Wie groß ist der Aufrufstapel maximal? in Go?
Antwort:
Die maximale Aufrufstapelgröße in Go beträgt wird durch die Laufzeitumgebung bestimmt. Normalerweise sind es Hunderte von MB oder sogar ein GB. Der Go Playground hat ein Limit von 250 MB, während es auf einem typischen Linux-Rechner etwa 1 GB beträgt.
Frage:
Verwendet rekursiven Code mit einer potenziell großen Anzahl von Anrufen an Anti-Muster?
Antwort:
Die Verwendung von rekursivem Code mit einer großen Anzahl von Aufrufen kann zur Stapelerschöpfung führen. Dies ist keine empfohlene Vorgehensweise, es sei denn, Sie haben es mit einem Problem zu tun, das wirklich eine Rekursion erfordert. Erwägen Sie stattdessen die Verwendung von Iteration oder erkunden Sie andere Entwurfsmuster, die nicht auf tiefer Verschachtelung basieren.
Zusätzliche Hinweise:
Das obige ist der detaillierte Inhalt vonVerfügt Go über einen echten „Infinite'-Aufrufstapel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!