package utils import ( "os" "path" "path/filepath" ) func PathExists(path string) bool { _, err := os.Stat(path) if nil == err { return true } if os.IsNotExist(err) { return false } return false } func GetExePath() string { dir, err := filepath.Abs(filepath.Dir(os.Args[0])) if nil != err { dir = "./" } return dir } func GetSubDir(subDir string) string { dir := GetExePath() dir = path.Join(dir, subDir) if _, err := os.Stat(dir); os.IsNotExist(err) { _ = os.MkdirAll(dir, os.ModePerm) } return dir } func GetLogFilePath() string { dir := GetSubDir("logs") executable := filepath.Base(os.Args[0]) logFile := path.Join(dir, executable + ".log") return logFile } func GetDistPath(platform string) string { dir := GetSubDir("dist") dir = path.Join(dir, platform) if _, err := os.Stat(dir); os.IsNotExist(err) { _ = os.MkdirAll(dir, os.ModePerm) } return dir }