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


本文摘自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 才找到问题的,犯了基础的错误。

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

相关阅读 >>

使用gin封装一个web脚手架(六):实现session(中)

Golang 之 我被 for-range 循环进去了

Golang 可以开发 web 吗?

Go的切片(进阶版)

Go那些事儿|Go反射使用第二弹(valueof)

linux怎么安装Golang和dep(附错两个误解决方法)

Go是什么语言

Golang 架构设计原则 里氏替换原则

关于Go sql中的query、exec和prepare使用对比(附网络抓包)

Go学习笔记(二):Go语言工作区介绍

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




打赏

取消

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

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

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

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

评论

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