前提・実現したいこと
Goでスクリプトを作成しています。
実行ファイルのパスを取得するためにos.Executable()を使っていますが、
コンパイル後の実行ファイルとgo runコマンドで実行した場合で取得できるパスが違って困っています。
発生している問題・エラーメッセージ
実行ファイルではそのファイルへのパスが取得できる。
go runで実行した場合は以下のようにvar配下のディレクトリへのパスが出る。
/var/folders/n9/t3cdhscn79j1ksxjy50td_540000gp/T/go-build211000199/b001/exe
該当のソースコード
go
1func main() { 2 exe, err := os.Executable() 3 if err != nil { 4 fmt.Println(err) 5 } 6 7 fmt.Println(filepath.Dir(exe)) 8}
補足情報(FW/ツールのバージョンなど)
実行OS : OSX(Mojave)
Goバージョン : go version go1.10.3 darwin/amd64

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/23 00:16