我在创建一个可以传递给用户显示模板的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
。 如果我在追加调用后编译,但似乎是在每次迭代中重置帖子的值而不是追加。
这样做的正确方法是什么?
我在猜测OP知道':='的意思,只是犯了一个错误。 ':='与'='有些相似。但是,这是内部范围变量不被使用,而不是外部......只是要清楚。 – 2013-04-28 02:18:40