structtags: add description to Unpack()
This commit is contained in:
parent
6fa8a44943
commit
efffa11257
2 changed files with 9 additions and 1 deletions
|
@ -1,6 +1,6 @@
|
|||
# structtags
|
||||
|
||||
Ускорьте функцию `Unpack()`, про которую рассказывали на лекции (https://p.go.manytask.org/08-reflect/lecture.slide#19).
|
||||
Ускорьте функцию `Unpack()`.
|
||||
|
||||
Ваша функция должна работать быстрее, чем бейзлайн + 20%.
|
||||
```
|
||||
|
|
|
@ -17,6 +17,14 @@ func NewUnpacker() *Unpacker {
|
|||
return &Unpacker{}
|
||||
}
|
||||
|
||||
// Функция Unpack присваивает значения параметров из url query в поля переданной структуры.
|
||||
|
||||
// Для этого сначала в первом создается map,
|
||||
// где ключи -- названия параметров из url query,
|
||||
// а значения -- "ссылки" на соответствующие поля структуры.
|
||||
|
||||
// В следующем цикле поля структуры заполняются соответствующими
|
||||
// значениями из url query.
|
||||
func (u *Unpacker) Unpack(req *http.Request, ptr interface{}) error {
|
||||
if err := req.ParseForm(); err != nil {
|
||||
return err
|
||||
|
|
Loading…
Reference in a new issue