如何在 Go 代码中获取包含 Java 脚本的绝对路径?
如何在 go 中获取包含 java 脚本的绝对路径?
在所给的代码片段中,go 代码被编译到可执行文件 /usr/bin/demo 中。当执行 apple.java 时,go 代码也会被执行,但问题是无法直接获取 apple.java 的绝对路径。
为了解决这个问题,我们可以使用 go 的 os 包和 path/filepath 包来获取当前执行脚本的绝对路径,然后使用相对于脚本的路径来获取 apple.java 的绝对路径。
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) }
这种方法将输出包含 apple.java 的绝对路径,即使它是使用相对路径执行的。
以上就是如何在 Go 代码中获取包含 Java 脚本的绝对路径?的详细内容,更多请关注硕下网其它相关文章!