背景 -我正在移動(dòng)這個(gè)函數(shù),main()以便我的其余代碼可以訪問(wèn)響應(yīng)數(shù)據(jù)。例子 -func RequestTopMovies(w http.ResponseWriter, r *http.Request) { res, err := http.Get(url) if err != nil { panic(err) } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { panic(err) } var p Payload err = json.Unmarshal(body, &p) if err != nil { panic(err) } for i := 0; i < len(p.Results); i++ { fmt.Println(p.Results[i].Overview) }}問(wèn)題 -如何將響應(yīng)數(shù)據(jù)設(shè)置為可在我的代碼中的其他位置訪問(wèn)?
1 回答

慕運(yùn)維8079593
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超5個(gè)贊
RequestTopMovies 是一種http.Handler將被自動(dòng)調(diào)用為處理程序函數(shù)又名控制器的類型。
要訪問(wèn)接收到的數(shù)據(jù),可以使用諸如上下文(檢查大猩猩/上下文)之類的東西,或者只是創(chuàng)建一個(gè)切片或映射來(lái)保存數(shù)據(jù)結(jié)構(gòu),以便您可以從代碼中的其他地方訪問(wèn)它,即
var Temp = map[string]Payload{}
一旦你解組了數(shù)據(jù),像這樣存儲(chǔ)它
Temp[key] = p
然后從其他地方像另一個(gè)處理程序一樣,您可以像
func SomeHandler(rw http.ResponseWriter, *http.Request) {
p := Temp[key]
// ...
}
- 1 回答
- 0 關(guān)注
- 209 瀏覽
添加回答
舉報(bào)
0/150
提交
取消