1. 首页
  2. 主题
  3. Go问与答

转了Go没多久,web编程的问题

fengyuedada · · 2132 次点击
据我所了解go是不支持类似threadlocal的操作的,但要是我现在一个dao层的方法突然要新增一个语言字段,那我只能从controller层一层层传下去吗?本身这个方法还有多层调用,那样我的改动太大了。 以前我用java会有类似scope等于request的threadlocal可以直接get一些必须的信息 你们会遇到类似的问题吗,怎样解决,我想过在框架调用handler之前生成request的uuid放进map,然后最后移除掉 但go适合我这样做吗?也可能写的不好引发内存泄漏问题
5楼 <a href="/user/fengyuedada" title="@fengyuedada">@fengyuedada</a> 用 ... 这样只需要两头改,中间传参不用改 ``` package main import &#34;fmt&#34; func main() { var uid int uid = 100 name := &#34;xxx&#34; ip := &#34;127.0.0.1&#34; args := []string{name, ip} multiParam(uid, name) multiParam(uid, name, ip) multiParam(uid, args...) } func multiParam(uid int, args ...string) { fmt.Print(uid, args) nextcall(uid, args...) } func nextcall(uid int, args ...string) { fmt.Print(uid, args) nextnextcall(uid, args...) } func nextnextcall(uid int, args ...string) { fmt.Print(uid, args) } ``` 如果这样觉得代码不清晰,可以把参数封装成struct 象bean那样传来传去
#8
更多评论
用go就不要分层了,func一把梭全搞定
#1
<a href="/user/tablecell" title="@tablecell">@tablecell</a> 好家伙,公共方法也不抽吗
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中