package projectpath
import (
"path/filepath"
"runtime"
)
var (
_, b, _, _ = runtime.Caller(0)
Root = filepath.Join(filepath.Dir(b), "../../../")
)
// -----
// projectpath.Root // root dir
GolangでRootディレクトリが簡単には取得できなかったのですが、上記方法で取得できます。
テスト実行時などでも機能します。
しかし、トリッキーですね💦
※2020-04-09 追記:buildしたバイナリで使うと、ビルド時の環境のパスになってしまい、この手法はローカルでしか使えないようです。
local環境でのテストなどでは使えると思うので、使うなら割り切って使ってほしいです。