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

藏色散人
リリース: 2020-10-19 14:24:56
転載
1710 人が閲覧しました

次の列# 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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート