
从 apple.java 中获取 go 可执行文件的绝对路径
问题:
如何从 java 文件 apple.java 中获取编译为可执行文件 /usr/bin/demo 的 go 代码的绝对路径?
go 代码:
package main
import "fmt"
func main() {
fmt.println("9527")
}回答:
为了从 apple.java 中获取 go 可执行文件的绝对路径,您可以使用以下步骤:
立即学习“Java免费学习笔记(深入)”;
- 在 go 代码中添加以下代码:
package main
import (
"fmt"
"os"
"path/filepath"
)
func main() {
// 获取当前可执行文件的路径
execpath, err := os.executable()
if err != nil {
fmt.println("error:", err)
return
}
// 获取当前执行的脚本的路径(通过 os.args[0])
scriptpath := os.args[0]
// 将路径转换为绝对路径
abspath, err := filepath.abs(scriptpath)
if err != nil {
fmt.println("error:", err)
return
}
// 打印绝对路径
fmt.println("absolute path:", abspath)
}- 将路径转换为绝对路径。您可以使用 filepath.abs 函数将相对路径转换为绝对路径。
import (
"fmt"
"os"
"path/filepath"
)
func main() {
execPath, _ := os.Executable()
scriptPath := os.Args[0]
absPath, _ := filepath.Abs(scriptPath)
fmt.Println(fmt.Sprintf("Absolute path: %s", absPath))
}运行此 go 代码,您将获得 apple.java 脚本的绝对路径。该路径可以进一步用于其他操作,例如打开文件或读取内容。











