package main import ( "bufio" "encoding/csv" "os" "path/filepath" ) type Student struct { Lastname string Firstname string Login string EMail string Phone string } func readStudentsList(studentsFile string) (stds []Student, err error) { if studentsFile, err = filepath.Abs(studentsFile); err != nil { return } else if fi, err := os.Open(studentsFile); err != nil { return nil, err } else { r := csv.NewReader(bufio.NewReader(fi)) if list, err := r.ReadAll(); err != nil { return nil, err } else { for _, i := range list { var s Student s.Lastname = i[0] s.Firstname = i[1] s.Login = i[2] s.EMail = i[3] s.Phone = i[4] stds = append(stds, s) } return stds, nil } } }