создается каждая итерация и живет в разных масштабах каждое изменение.

йте, что у меня есть фрагмент строки пути:

paths := []string{"/path0", "/path1", "/path2" /*... "/path-n"*/ }
// where n is the last path

Используя пакетnet/httpЯ хочу зарегистрировать обработчик для этого пути, используяfor цикл с предложением диапазона. Вот как я это делаю:

for _, path := range paths {
    http.HandleFunc(path, handler)
}
// in this case every handler is print the path to the console or to the browser

Но я получил тот же результат, который является последним элементом среза, поэтому, когда я иду к/path1, выход/path-n, То же поведение с другим элементом, всегда печатать/path-n.

Но если я использую это:

http.HandleFunc(paths[0], handler)
http.HandleFunc(paths[1], handler)
http.HandleFunc(paths[2], handler)
// ...
http.HandleFunc(paths[n], handler)

Вывод правильный.

Что происходит, я что-то пропустил? я нуждаюсьfor цикл для регистрации, заданный срезом путей или карты, поэтому я не могу сделать второй код.

Можете ли вы дать мне альтернативу для выполнения этой задачи?

Ответы на вопрос(1)

Ваш ответ на вопрос