go-ape provides some file utilities in two packages:
pkg/filecopy
for copying files (hence the "ape" in "go-ape")pkg/furl
for reading local files and remote urls in a consistent way
It was initially developed on macOS and then made to work on Windows.
Install is easy, all you need to do is
go get github.com/pivotal/go-ape
Once installed, import go-ape in your application
import "github.com/pivotal/go-ape"
Then start reading files like so:
content, err := furl.Read(filePath, "")
Here filePath can be a path on the local file system (unix OR windows) or a URL.
You can also copy files/folders using:
checker := filecopy.NewChecker()
copier := filecopy.NewCopier(os.Stdout, checker)
copier.Copy(outputDir, inputDir)
Please see godoc for complete reference.