package tools import ( "errors" "os" "path" "path/filepath" ) // exported function(s) func MkDirs(destination string) error { if len(destination) == 0 { return nil } destination = filepath.Clean(destination) stats, error := os.Stat(destination) if error != nil && !errors.Is(error, os.ErrNotExist) { return error } if stats != nil && stats.IsDir() { return nil } return os.MkdirAll(destination, os.ModePerm) } func CreateFile(file string) error { if Exists(file) { return nil } error := MkDirs(path.Dir(file)) if error != nil { return error } _, error = os.Create(file) if error != nil { return error } return nil } func Exists(path string) bool { _, error := os.Stat(path) return error == nil }