// *** before: ***
func closeAll(files []*os.File) error {
for _, f := range files {
if err := f.Close(); err != nil {
return err // the other close errors are lost
}
}
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 when errs is empty
}