Maison >développement back-end >Golang >Que signifie avoir une variable qui n'est valide que dans le gestionnaire
Dans la documentation go-optical, ils disent :
as a rule of thumb, you must only use context values within the handler, and you must not keep any references
Est-ce que je peux passer le contexte comme argument de fonction comme ceci :
func getlist(c *fiber.ctx) error { result, err := user.search(c) } func search(c *fiber.ctx) (user, err) { id := c.params("id") }
Est-ce considéré comme une mauvaise pratique ?
Je ne comprends pas très bien cette phrase :
as soon as you return from the handler, any values you have obtained from the context will be re-used in future requests and will change below your feet.
Donc, si j'ai envoyé la réponse au client, la valeur des paramètres sera-t-elle réutilisée ? Réutilisé par qui ? Par moi ou à la demande de quelqu'un d'autre ?
func getlist(c *fiber.ctx) error { id := c.params("id") // 911 return c.sendstring("hello, world!") }
Si la valeur de l'identifiant est 911, cela signifie-t-il que les demandes d'autres personnes recevront également le 911 ?
Qu'est-ce que cela signifie
will change below your feet
Qui peut l'expliquer en détail pour qu'il soit plus facile à comprendre pour un débutant comme moi ? Merci...
L'objet de contexte réel peut être réutilisé par le framework après avoir appelé votre gestionnaire, vous ne pouvez donc pas vous fier à son état après le retour du gestionnaire.
Est-ce que je peux passer le contexte comme paramètre de fonction comme celui-ci ?
C'est très bien, tant que Search
le contexte n'est pas stocké ailleurs. S'il utilise simplement la valeur dans le contexte pour effectuer la recherche et renvoie les résultats, ce n'est pas un problème.
Donc, si j'ai envoyé la réponse au client, la valeur des paramètres sera-t-elle réutilisée ? Réutilisé par qui ? Par moi ou à la demande de quelqu'un d'autre ?
Le framework réutilisera l'objet de contexte réel tout en traitant les demandes ultérieures.
Que signifie « des changements se produiront sous vos pieds » ?
Si vous ne suivez pas les conseils ci-dessus et conservez plutôt une référence au contexte après le retour du gestionnaire, les valeurs de ce contexte changeront de manière inattendue car le framework utilise ce contexte pour de nouvelles requêtes.
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!