据我所了解go是不支持类似threadlocal的操作的,但要是我现在一个dao层的方法突然要新增一个语言字段,那我只能从controller层一层层传下去吗?本身这个方法还有多层调用,那样我的改动太大了。
以前我用java会有类似scope等于request的threadlocal可以直接get一些必须的信息
你们会遇到类似的问题吗,怎样解决,我想过在框架调用handler之前生成request的uuid放进map,然后最后移除掉
但go适合我这样做吗?也可能写的不好引发内存泄漏问题
公共方法是utils 是无状态的 是另外的package
但是业务逻辑是带状态的 你非要强行分开,要么逐级传参,值传递会浪费大量的栈内存 ,slice传参各种末知的么蛾子,传地址会引入不必要的复杂性 你非要象java那样一个应用占一台服务器内存那样写go 直接上java不香吗?
#4
更多评论