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

不用接口,不用结构体,在单纯的方法中,怎样获取iris.Context?正常是这么写的
functest(ctxiris.Context){
ctx.URLParam("name")
}
但如果不给方法传参数应该怎么写?
试过下面的,报错。难道要把context作为全局变量去调用吗?
functest(){
varctxiris.Context
ctx.URLParam("name")
}
蛊毒传说
浏览 514回答 2
2回答

芜湖不芜

ctxiris.Context这个对象是在HTTPServer接受到请求后构建的,之后解析你注册的路由找到路由对应的方法,并传入参数。所有不存在单纯在方法中提取这个参数。

守着星空守着你

一般像这种不太建议你这么做,要么直接传参数进去,要么使用context.Context包携带值进去typectxKeybytevaririsCtxKeyctxKeyfuncTestContext(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)}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript