// *** before: ***
func closeAll(files []*os.File) error {
for _, f := range files {
if err := f.Close(); err != nil {
return err // остальные ошибки закрытия теряются
}
}
return nil
}
// *** in version 1.20: ***
func closeAll(files []*os.File) error {
var errs []error
for _, f := range files {
if err := f.Close(); err != nil {
errs = append(errs, err)
}
}
return errors.Join(errs...) // nil, если errs пуст
}