LINUX.ORG.RU

http.HandleFunc некорректно работает в цикле for

 ,


0

1

Хочется странного:

for x := range getConfig().Views {
		http.HandleFunc("/"+getConfig().Views[x],
			func(w http.ResponseWriter, r *http.Request) {
				w.Header().Set("Content-type", "text/html")
				t, err := template.ParseFiles(getConfig().Views[x] + ".html")
				checkErr("Error template", err)
				t.Execute(w, &page{})
			})
	}

Где getConfig().Views берёт массив из json

{
 "Views":["get","hello","my"]
}

Сейчас по всем роутам отдаётся последний вариат «my» ?????

★★★

for view := range getConfig().Views {
                var x = view
		http.HandleFunc("/"+getConfig().Views[x],
			func(w http.ResponseWriter, r *http.Request) {
				w.Header().Set("Content-type", "text/html")
				t, err := template.ParseFiles(getConfig().Views[x] + ".html")
				checkErr("Error template", err)
				t.Execute(w, &page{})
			})
	}
derlafff ★★★★★
()
Ответ на: комментарий от andreykyz

Походу это особенность.

AUX ★★★
() автор топика
Ответ на: комментарий от pftBest

Кактус местами вкусный!

AUX ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.