Anforderungsverarbeitung optimieren: Wo sollte sich „defer req.Body.Close()“ befinden?
In Webserverumgebungen ist dies gängige Praxis um Anfragen mit Net/http-Handlern zu bearbeiten. Es stellt sich die Frage, wo die Anweisung „defer req.Body.Close()“ platziert werden soll.
Bewertung der Platzierungsoptionen
Soll diese Anweisung am Ende platziert werden? der Funktion? Spielt es eine Rolle, wo es positioniert ist?
Die Antwort: Keine Notwendigkeit zum Schließen
Laut der offiziellen http.Request-Dokumentation müssen Anforderungskörper nicht geschlossen werden der Handler. Der Server kümmert sich automatisch um das Schließen.
<br>// Der Server schließt den Anfragetext. Der ServeHTTP<br>//-Handler muss dies nicht tun.<br>
Diese Designwahl macht ein explizites Schließen überflüssig und vereinfacht die Bearbeitung von Anfragen.
Daher , spielt es keine Rolle, wo Sie „defer req.Body.Close()“ in Ihrer Funktion platzieren. Sie können es ganz weglassen, da der Server das Schließen des Körpers intern übernimmt.
Das obige ist der detaillierte Inhalt vonWo sollte „defer req.Body.Close()' in einem Go-HTTP-Handler platziert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!