据我所了解go是不支持类似threadlocal的操作的,但要是我现在一个dao层的方法突然要新增一个语言字段,那我只能从controller层一层层传下去吗?本身这个方法还有多层调用,那样我的改动太大了。
以前我用java会有类似scope等于request的threadlocal可以直接get一些必须的信息
你们会遇到类似的问题吗,怎样解决,我想过在框架调用handler之前生成request的uuid放进map,然后最后移除掉
但go适合我这样做吗?也可能写的不好引发内存泄漏问题
你这种做法其实不适合团队开发, 而且也不太适合服务划分. 栈内存是最不值钱的东西了随便用只要你能分配在栈上. 从头到尾都写在一个函数里, 对代码和逻辑复用也是个挑战. 你一个函数里申请大量的内存一样也要到堆上去的一样要耗空协程的栈空间, 和传参没啥本质区别.其实go最好的特性就是屏蔽了指针的复杂性.比C/C++高明易用了很多.go的指针一点都不复杂...
#6
更多评论