我設(shè)計(jì)了一個(gè)新的 Request 結(jié)構(gòu),但在某些情況下(http.Redirect),我需要獲取 origin http.Request。我的請(qǐng)求結(jié)構(gòu):type Request struct { *http.Request}func (r *Request) IsGet() bool { return strings.EqualFold("GET", r.Method)}主功能: req := http.Request{ Method:"POST", } myReq := &Request{&req} // How to get original request. originalReq, ok := (interface{}(*myReq)).(http.Request); if ok { fmt.Printf("Method: %s\n", originalReq.Method) } else { fmt.Println("Failure") }
1 回答

江戶川亂折騰
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊
讓我們看看語(yǔ)言規(guī)范是怎么說(shuō)的:
非限定類型名稱充當(dāng)字段名稱。
// A struct with four anonymous fields of type T1, *T2, P.T3 and *P.T4
struct {
T1 // field name is T1
*T2 // field name is T2
P.T3 // field name is T3
*P.T4 // field name is T4
x, y int // field names are x and y
}
IE myReq.Request
- 1 回答
- 0 關(guān)注
- 152 瀏覽
添加回答
舉報(bào)
0/150
提交
取消