在源文件目录中定位文件
当使用位于 $PWD/dir/src.go 的源文件时,Go 的操作系统.Open("myfile.txt") 函数从基目录 $PWD 打开文件 myfile.txt。然而,用户可能希望访问与 src.go 位于同一目录中的文件,类似于 Ruby 的 FILE 变量。
在 Go 中,由于语言的编译,这种方法无法直接实现自然。 Go 二进制文件与源文件分开编译,这意味着二进制文件的执行不需要后者。因此,Go 缺少与 __FILE__ 等效的函数。
尽管如此,一种解决方法涉及利用 runtime.Caller 函数。此函数提供与二进制文件的编译状态相对应的文件名。基于此信息,可以导出 src.go 文件的位置,然后遍历目录结构以到达所需的文件。
请注意,更深入地了解此功能背后的用例将为实现预期目标提供量身定制的指导。
以上是如何访问Go源文件同目录下的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!