【发布时间】:2014-03-14 19:19:38
【问题描述】:
我有一个函数如下,它解码一些 json 数据并将其作为接口返回
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?