Согласно документации, req.Form
всегда следует обновлять, если вы звоните req.ParseForm
.
Для всех запросов ParseForm анализирует необработанный запрос с URL и обновляет r.Form.
Более того, если вы посмотрите на реализацию ParseForm, похоже, что он не будет nil
после выполнения метода.
https://github.com/golang/go/blob/master/src/net/http/request.go#L1238
Что действительно может произойти, так это то, что req.Form
оказывается пустой картой, возможно, именно это вы видите там.
Имеет смысл быть пустым, если вы делаете:
GET http://localhost:8080/users/3
Так как у него нет параметров для ParseForm
для фактического анализа, то req.Form
в итоге станет пустой картой.
Если вы попробуете это, например:
GET http://localhost:8080/users/3?a=b
Затем вы должны получить запись на карте с "a"
в качестве ключа и ["b"]
в качестве значения.