在运行时获取可执行文件路径的最佳方法是什么?

如果我的go程序可以通过不同的方式(cron,monit等)执行,那么在运行时获取包含可执行文件的目录的最可靠方法是什么?

在python中,这将是变量:

os.path.realpath(__file__)


三国纷争
浏览 220回答 2
2回答

翻翻过去那场雪

我最终发现了runtime.Caller()。这将返回有关当前goroutine堆栈的一些详细信息,包括文件路径。我的问题的背景是在共享包中打开数据文件。我煮的是:_, filename, _, _ := runtime.Caller(1)f, err := os.Open(path.Join(path.Dir(filename), "data.csv"))

LEATH

我发现最好的方法是使用os.Getwd()。请参阅此处的文档:golang doc
打开App,查看更多内容
随时随地看视频慕课网APP