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

在线等!iris 怎样直接获取context求指导!

在线等!iris 怎样直接获取context求指导!

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

2 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

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

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

一般像这种不太建议你这么做,要么直接传参数进去,要么使用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-09
  • 2 回答
  • 0 关注
  • 958 浏览
慕课专栏
更多

添加回答

举报

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