记一次因为共享变量的犯错误


本文摘自php中文网,作者藏色散人,侵删。

下面由golang教程栏目给大家记一次因为共享变量的犯错误,希望对需要的朋友有所帮助!

问题复现

在models/User.php

1

var UserModel = new (User)

控制器

1

2

3

if models.UserModel.Token == "" {

    models.UserModel.Token = "hello world"

}

因为 var UserModel = new (User) 只会new 一次,每个请求都共享的这个变量的。

导致以后这个 if 只会执行一次,还是只能乖乖的 new 一个新的指针。

乖乖的 new

1

2

3

4

var UserModel = new (models.User)

if UserModel.Token == "" {

    UserModel.Token = "hello world"

}

结尾

花费几小时 debug 才找到问题的,犯了基础的错误。

以上就是记一次因为共享变量的犯错误的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

手撸Golang 基本数据结构与算法 数组

Go语言队列的链式表示和实现

Golang用户登录怎么做

Go的声明语法为什么是这样

Golang如何实现收发邮件?

slice 自身的指针为什么会变

聊聊dubbo-Go-proxy的accesslogfilter

Golang中自定义包

gin快速入门

Go循环队列的实现

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...