Maison >développement back-end >Golang >Où 'defer req.Body.Close()' doit-il être placé dans un gestionnaire HTTP Go ?

Où 'defer req.Body.Close()' doit-il être placé dans un gestionnaire HTTP Go ?

DDD
DDDoriginal
2024-11-12 07:08:02530parcourir

Where Should

Optimisation du traitement des requêtes : où doit résider "defer req.Body.Close()" ?

Dans les environnements de serveur Web, c'est une pratique courante pour gérer les requêtes à l’aide des gestionnaires net/http. Une question qui se pose est de savoir où placer l'instruction "defer req.Body.Close()".

Évaluation des options de placement

Cette instruction devrait-elle être placée à la fin de la fonction ? L'endroit où il est positionné est-il important ?

La réponse : pas besoin de fermer

Selon la documentation officielle http.Request, les corps de demande n'ont pas besoin d'être fermés dans le gestionnaire. Le serveur se chargera automatiquement de les fermer.

<br>// Le Serveur fermera le corps de la requête. Le gestionnaire ServeHTTP<br>// n'en a pas besoin.<br>

Ce choix de conception élimine le besoin d'une fermeture explicite et simplifie le traitement des requêtes.

Par conséquent , peu importe où vous placez "defer req.Body.Close()" dans votre fonction. Vous pouvez choisir de l'omettre complètement puisque le serveur gère la fermeture du corps en interne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn