登录
首页 >  Golang >  Go问答

为什么我的界面没有显示关联的值

来源:stackoverflow

时间:2024-03-11 22:42:27 501浏览 收藏

本篇文章向大家介绍《为什么我的界面没有显示关联的值》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

嘿伙计们,这段代码是模拟客户端、模拟服务器交互的一部分。我无法理解上下文。

在这里,我使用“withvalue”显式地将跟踪器接口与上下文“关联”,然后使用 withcontext 将其注入到我的请求中。但是,当我检查请求的上下文是否包含跟踪器接口时,我返回错误“此上下文应该包含跟踪器”。我不理解 context 和 withvalue 的什么?

var tracker Tracker

ctx := context.WithValue(context.Background(), contextKey, tracker)

req := httptest.NewRequest("GET", "localhost:12345/test", nil)
req.Header.Add(HEADER)

req = req.WithContext(ctx)

_, ok := ctx.Value(contextKey).(Tracker)
if !ok {
    log.Fatal("1: This context should contain a tracker")
}

解决方案


Tracker 是一个接口,它没有设置任何内容,所以它是 nil。因此,它无法将 nil 更改为 Tracker,因此失败。

https://play.golang.org/p/4-KQXlCR8vD

理论要掌握,实操不能落!以上关于《为什么我的界面没有显示关联的值》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>