【发布时间】:2015-10-28 01:41:31
【问题描述】:
我已经看到了一些关于这个主题的反思示例,但我找不到任何可以解决这个问题的方法。感觉有点复杂,但替代方法是大量重复,所以我想试试看。
我有一个返回函数(处理程序)的函数。包装函数传入一个结构的实例。我需要内部函数来创建指向该结构类型的指针切片:
func createCollectionHandler(app *appSession, record interface{}, name string) func(res http.ResponseWriter, req *http.Request) {
return func(res http.ResponseWriter, req *http.Request) {
res.Header().Set("Content-Type", "application/json")
// This line needs to be dynamic:
var result []*Person
err := meddler.QueryAll(app.MysqlDB, &result, "select * from "+name)
if err != nil {
log.Fatal(err)
}
json, err := json.MarshalIndent(result, "", " ")
if err != nil {
log.Println(err)
}
res.Write([]byte(json))
return
}
}
【问题讨论】:
-
那应该工作正常,也许medder做错了什么?
标签: reflection go