亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么傳遞的變量沒有在 html/template 中呈現?

為什么傳遞的變量沒有在 html/template 中呈現?

Go
阿波羅的戰車 2023-08-07 14:58:19
我不明白為什么傳遞的變量沒有用 html/template 渲染這是瀏覽器中呈現的內容:這是所有傳遞的變量: [0xc0000a8ec0 0xc0000a8f80 0xc0000a9040 0xc0000a9100]城市 人口 州 國家 首都這是日志:$ go run main.go2019/11/27 11:00:39 **** => &city has &main.City{Name:"Washington D.C.", State:"", Country:"USA", Capital:false, Population:680000} before appending to cities ****2019/11/27 11:00:39 **** => &city has &main.City{Name:"Los Angeles", State:"CA", Country:"USA", Capital:false, Population:3900000} before appending to cities ****2019/11/27 11:00:39 **** => &city has &main.City{Name:"San Francisco", State:"CA", Country:"USA", Capital:false, Population:860000} before appending to cities ****2019/11/27 11:00:39 **** => &city has &main.City{Name:"Tokyo", State:"", Country:"Japan", Capital:true, Population:9000000} before appending to cities ******** => cities outside {} has 4這是處理函數:func indexHandler(w http.ResponseWriter, r *http.Request) {    projectID := "XXXXXXXXXXXXXX"    ctx := context.Background()    client, _ := firestore.NewClient(ctx, projectID)    query := client.Collection("cities").Documents(ctx)    defer query.Stop()    cities := make([]*City, 0)    for {        doc, err := query.Next()        if err == iterator.Done {            break        }        c := doc.Data()        // is there an easier way to populate the city struct        city := City{            Name:       c["name"].(string),            Country:    c["country"].(string),            Population: c["population"].(int64),        }        // This is my ugly solution to dealing with nil value from Firestore        _, ok := c["capital"]        if ok {            city.Capital = c["capital"].(bool)        }        state, ok := c["state"].(string)        if ok {            city.State = state        }        log.Printf("**** => &city has %#v before appending to cities ****", &city)        cities = append(cities, &city)    }    fmt.Printf("**** => cities outside {} has %d", len(cities))    indexTemplate.Execute(w, cities)    }
查看完整描述

1 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

永遠不要遺漏錯誤,檢查indexTemplate.Execute(w, cities)返回的內容。它可能揭示了原因:

cities作為數據傳遞,這是一個切片。沒有cities它的領域或方法。傳遞的數據成為,因此您必須在點上進行范圍。

代替:

{{ range .cities }}

使用:

{{ range . }}


查看完整回答
反對 回復 2023-08-07
  • 1 回答
  • 0 關注
  • 122 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號