golang变量生命周期的问题

golang变量生命周期的问题

# 具体遇到的问题
关于课上product切片每次刷新页面都会有上次请求的结果 如果我不重新编译不管隔多久那个变量的值都不会销毁吗    但是在Php里每次请求好像是相互独立的,不会存在这种情况 老师能说说golang处理请求模式和Php的区别吗
# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

你好,go语言中常见的变量,全局变量(或者某个包的变量)、局部变量,和其它编程语言类似。


 一般情况下全局变量是常驻内存的,直到程序结束,这种情况下变量的生命周期就是整个程序的执行期。程序结束之后会被系统垃圾回收器回收,与其它编程语言类似。 

 

 而我们平时所使用的局部变量,像在函数中定义的,一般的生命周期就是函数退出之后或者没有其它指针再指向它,那么它所占用的空间就会被回收。 


  • 慕瓜9466948 提问者 #1

    那老师我想问一下 像之前存储在 imooc_session表的session数据我是不是可以存储在一个全局变量里?

    2020-12-26 13:49:29
  • 我是波哥 回复 提问者 慕瓜9466948 #2

    从变量执行生命周期来说,数据可以这样保存。

    但一般业务逻辑不这样干。

    你这个问题问的很好。

    2020-12-26 22:00:59
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师