Last update: 2025-12-11
Merging Multiple File Systems (fs.FS) in Go
package multifs
import "io/fs"
type FS []fs.FS
func (fsys FS) Open(name string) (fs.File, error) {
for _, fsys := range fsys {
if fsys == nil {
continue
}
f, err := fsys.Open(name)
if err != nil {
continue
}
return f, nil
}
return nil, fs.ErrNotExist
}