【Go言語】実行中のファイルのディレクトリ名とファイルパスを取得する方法はfilepath.Dir関数

Go言語で現在実行中のファイルのディレクトリを取得するには、osパッケージのExecutable関数やfilepathパッケージのDir関数を使えばOKです!

以下のサンプルコードで現在実行中のファイルのディレクトリを取得できます。


import (
    "fmt"
    "os"
    "path/filepath"
)

func main() {
    // 現在実行中のファイルの絶対パスを取得
    exe, err := os.Executable()
    if err != nil {
        panic(err)
    }
    fmt.Println(exe) // /Users/panda/go/bin/hello

    // 現在実行中のファイルのディレクトリを取得
    dir := filepath.Dir(exe)
    fmt.Println(dir) // /Users/panda/go/bin
}

取得した実行ファイルのパスを基にfilepathパッケージを使用してディレクトリ名を取得することができます。

以下のようにfilepath.Dir関数を使用することで、実行中のバイナリファイルのディレクトリパスを取得することができます。