为了账号安全,请及时绑定邮箱和手机立即绑定

有没有人遇到过这个问题哈!iris 怎样直接获取context跪求!

有没有人遇到过这个问题哈!iris 怎样直接获取context跪求!

蛊毒传说 2019-08-14 20:43:52
不用接口,不用结构体,在单纯的方法中,怎样获取iris.Context?正常是这么写的functest(ctxiris.Context){ctx.URLParam("name")}但如果不给方法传参数应该怎么写?试过下面的,报错。难道要把context作为全局变量去调用吗?functest(){varctxiris.Contextctx.URLParam("name")}
查看完整描述

2 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

ctxiris.Context这个对象是在HTTPServer接受到请求后构建的,之后解析你注册的路由找到路由对应的方法,并传入参数。所有不存在单纯在方法中提取这个参数。
                            
查看完整回答
反对 回复 2019-08-14
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

一般像这种不太建议你这么做,要么直接传参数进去,要么使用context.Context包携带值进去
typectxKeybyte
varirisCtxKeyctxKey
funcTestContext(ctxcontext.Context){
ifictx,ok:=ctx.Value(irisCtxKey).(*iris.Context);ok{
val:=ictx.URLParam("k")
}
}
funcmain(){
ctx:=context.Background()
ctx=context.WithValue("k1",1)
ctx=context.WithValue(irisCtxKey,irisCtx)//从请求中来
TestContext(ctx)
}
                            
查看完整回答
反对 回复 2019-08-14
  • 2 回答
  • 0 关注
  • 509 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信