r.go | 13 +++++++++++++ diff --git a/r.go b/r.go index 3a81162b9f2fedde3ac9705cb9db04d5fff4f9e0934e4a67c859ef71f95ef9e6..ca494a2fc98e1a8c7d9c5d7c1a6a18ab004a3c0d9148004a9b501e7d9cb6a6f8 100644 --- a/r.go +++ b/r.go @@ -123,3 +123,16 @@ return fields, err } return fields, nil } + +// Same as Next(), but creates map from the fields. +func (r *Reader) NextMap() (map[string]string, error) { + fields, err := r.Next() + if err != nil { + return nil, err + } + m := make(map[string]string, len(fields)) + for _, f := range fields { + m[f.Name] = f.Value + } + return m, nil +}