Maison  >  Article  >  développement back-end  >  Rappelez-vous une erreur commise à cause de variables partagées

Rappelez-vous une erreur commise à cause de variables partagées

藏色散人
藏色散人avant
2020-10-16 14:01:281706parcourir
Vous trouverez ci-dessous

Tutoriel Golang colonne pour que tout le monde se souvienne des erreurs de partage de variables une fois, j'espère aider les amis dans le besoin !

Rappelez-vous une erreur commise à cause de variables partagées

Le problème est reproduit

dans models/User .php

var UserModel = new (User)

Controller

    if models.UserModel.Token == "" {
        models.UserModel.Token = "hello world"
    }

Parce que

ne sera fait var UserModel = new (User) qu'une seule fois, cela est partagé avec tous variable de requête. new

entraînera l'exécution de ce

une seule fois dans le futur, ou il ne pourra if qu'un nouveau pointeur docilement. new

Soyez bon new

    var UserModel = new (models.User)
    if UserModel.Token == "" {
        UserModel.Token = "hello world"
    }

Fin

Dépenser Il a fallu plusieurs heures

pour trouver le problème, et j'ai commis une erreur fondamentale. debug                                                                                                                               

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer