我正在尝试创建一段 sql 结果,可以将其传递给模板以显示给用户。我有以下内容:
type Post struct {
Title string
}
func landing(w http.ResponseWriter, r *http.Request){
posts := make([]Post, 0)
conn := OpenConnection()
defer conn.Close()
rows, err := conn.Query("SELECT p.title FROM posts p LIMIT 100")
if err != nil {
fmt.Println(err)
} else {
for rows.Next() {
var title string
rows.Scan(&title)
posts := append(posts, Post{Title: title}) //error thrown here
}
}
t, _ := template.ParseFiles("home.html")
t.Execute(w, posts)
}
func main() {
http.HandleFunc("/", landing)
}
在编译时,我得到了错误posts declared and not used
。如果我fmt.Println(posts)
在追加调用之后编译它,但它似乎是在每次迭代中重置帖子的值而不是追加。
这样做的正确方法是什么?