如果我明确地“关联”了为什么我的接口不包含值

大家好,这段代码是模拟客户端,模拟服务器交互的一部分。我在理解上下文时遇到麻烦。


在这里,我使用'WithValue'明确地将跟踪器接口与上下文“关联”,然后使用WithContext将其插入到我的请求中。但是,当我检查请求的上下文是否包含跟踪器接口时,会返回错误“此上下文应包含跟踪器”。我不了解的上下文和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")

}


慕尼黑的夜晚无繁华
浏览 223回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go