ホームページ  >  記事  >  バックエンド開発  >  共有変数が原因で犯した間違いを思い出してください

共有変数が原因で犯した間違いを思い出してください

藏色散人
藏色散人転載
2020-10-16 14:01:281683ブラウズ

次の列# Golangチュートリアル#は、共有変数のために犯された間違いを記録します。困っている友人に役立つことを願っています。

共有変数が原因で犯した間違いを思い出してください

#問題はモデル/ユーザーで発生します。 php

var UserModel = new (User)

Controller

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

Because

var UserModel = new (User) のみ new 一度、この変数は各リクエストで共有されます。

結果として、この

if は今後 1 回だけ実行されるか、素直に新しいポインターを new することしかできません。

従順新しい

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

問題を見つけるのに数時間かかりました

デバッグ、そして私は基本的な間違いを犯しました。

以上が共有変数が原因で犯した間違いを思い出してくださいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。