我有一個函數如下,其解碼一些JSON數據,並將它作爲一個接口golang如何訪問界面領域
package search
func SearchItemsByUser(r *http.Request) interface{} {
type results struct {
Hits hits
NbHits int
NbPages int
HitsPerPage int
ProcessingTimeMS int
Query string
Params string
}
var Result results
er := json.Unmarshal(body, &Result)
if er != nil {
fmt.Println("error:", er)
}
return Result
}
我試圖訪問數據字段(例如PARAMS),但由於某些原因它說接口沒有這樣的字段。任何想法爲什麼?
func test(w http.ResponseWriter, r *http.Request) {
result := search.SearchItemsByUser(r)
fmt.Fprintf(w, "%s", result.Params)
爲什麼你返回'interface {}'而不是'* results'? –