if path == "~" { // In case of "~", which won't be caught by the "else if" path = dir } else if strings.HasPrefix(path, "~/") { // Use strings.HasPrefix so we don't match paths like // "/something/~/something/" path = filepath.Join(dir, path[2:]) }