コマンドラインでディレクトリを受け取る
自作のコマンドラインツールでディレクトリを受け取って、
絶対パス、相対パスどちらも同じように扱いたい。
そんな場合はfilepath.Abs
を使って絶対パスに置き換えてしまうのが良さそう。
filepath.Abs
は絶対パスを渡しても問題なく動作する。
path1, _ := filepath.Abs("./sample") fmt.Println(apath) path2, _ := filepath.Abs("/usr/local/bin") fmt.Println(upath)
なので、こんな感じで使うことになる。
func main() { dir := flag.String("d", "", "ディレクトリ") flag.Parse() path := filepath.Abs(dir) fmt.Println(path) }