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


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

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

相关阅读 >>

模块一 Go语言基础知识-库源码文件

阅读Golang 切片(slice)底层源码

Go - 常用签名算法的基准测试

一文读懂云原生 Go-zero 微服务框架

Go-carbon 1.4.0 版本发布,新增获取世纪和季度开始和结束时间方法

Golang中如何比较字符串是否相等

手撸Golang Go与微服务 聚合模式之2

手撸Golang 基本数据结构与算法 图的最短路径 贝尔曼-福特算法

聊聊dubbo-Go-proxy的consulregistryload

云原生的浪潮下,为什么运维人员适合学习Go语言?

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




打赏

取消

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

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

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

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

评论

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