これはかなりニッチな問題ですが、私は現在、golangでコンベンションベースの設定ストレージライブラリを作成しようとしています。私のライブラリ関数を呼び出す何か(例えば"github.net/author/projectname/pkg"
)を保存したい実行中のパッケージ名をプログラムで決定することができれば、素晴らしいAPIになるでしょう。main.mainパッケージの名前を調べることはできますか?
Pythonでは、inspect
モジュール、または__main__.__file__
でも同様のことが達成でき、ファイルシステムを見ています。
コードは次のようになります:
pc, file, line, ok := runtime.Caller(1)
if !ok { /*failed*/ }
println(pc, file, line, ok)
f := runtime.FuncForPC(pc)
if f == nil { /*failed*/ }
println(f.Name())
私が入れた場合は、以下の機能を使用する場合は、同様の情報を得ることができます