登录
首页 >  Golang >  Go问答

找到可执行文件的路径

来源:Golang技术栈

时间:2023-03-04 12:32:30 487浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《找到可执行文件的路径》,这篇文章主要讲到golang等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

我使用 Go 为各种平台编译一个程序,并通过调用相对路径或仅通过其名称(如果它在 PATH 变量中)来运行它。

是否有可能找出可执行文件的位置?

比如说,我的程序叫做“ foo.exe)”。我可以运行./foo, foo(如果它在 PATH 中), ../../subdir/subdir/foo.

我尝试过使用os.Args[0],我想我应该检查程序名称是否包含除“foo”之外的其他内容。如果是,使用filepath.Abs,如果不是,使用(我找不到函数名,有一个函数可以通过 PATH 来检查程序在哪里)。

正确答案

使用包osext

它提供Executable()了返回当前程序可执行文件的绝对路径的函数。它可以在系统之间移植。

在线文档

package main

import (
    "github.com/kardianos/osext"
    "fmt"
)

func main() {
    filename, _ := osext.Executable()
    fmt.Println(filename)
}

本篇关于《找到可执行文件的路径》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>