package article import ( "bytes" "errors" "time" ) type Article struct { Title string Date time.Time Description string Body []byte } func (artcl *Article) ParseMetadata(data []byte) error { lines := bytes.Split(data, []byte{'\n'}) if len(lines) != 3 { return errors.New("metadata file is not complete. 3 lines (title, date(DD MM YYYY), descr) should present") } artcl.Title = string(lines[0]) date, err := time.Parse("02 01 2006", string(lines[1])) if err != nil { return err } artcl.Date = date artcl.Description = string(lines[2]) return nil }