登录
首页 >  Golang >  Go问答

如何获取主文件的目录

来源:stackoverflow

时间:2024-04-06 15:03:36 109浏览 收藏

目前golang学习网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《如何获取主文件的目录》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分享~

问题内容

假设 main.go 位于 /a/b/c/

我想知道的是main.go所在的目录,即我执行该文件时的/a/b/c

我在互联网上搜索并尝试了很多解决方案,但没有人给我正确的路径。

路径应该与pwd无关。

下面 4 个示例应给出相同的路径,/a/b/c。我怎样才能实现它?

/a/b/c$ go run main.go
/a/b$ go run c/main.go
/a$ go run b/c/main.go
~$ go run a/b/c/main.go

解决方案


试试这个:

package main

import (
    "fmt"
    "path"
    "runtime"
)

func getDirectory() string {
    _, file, _, ok := runtime.Caller(1)
    if ok {
        return path.Dir(file)
    }

    return ""
}

func main() {
    address := getDirectory()
    fmt.Println(address)
}

今天关于《如何获取主文件的目录》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

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