登录
首页 >  Golang >  Go问答

如何获取当前运行文件的目录?

来源:Golang技术栈

时间:2023-03-07 17:52:08 340浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《如何获取当前运行文件的目录?》带大家来了解一下如何获取当前运行文件的目录?,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

在 nodejs 我使用__dirname。在 Golang 中这个等价物是什么?

我用谷歌搜索并找到了这篇文章[http://andrewbrookins.com/tech/golang-get-directory-of-the- current-file/](http://andrewbrookins.com/tech/golang-get-directory-of-the- current-file/)。他在哪里使用下面的代码

_, filename, _, _ := runtime.Caller(1)
f, err := os.Open(path.Join(path.Dir(filename), "data.csv"))

但这是在 Golang 中的正确方式还是惯用方式?

正确答案

这应该这样做:

import (
    "fmt"
    "log"
    "os"
    "path/filepath"
)

func main() {
    dir, err := filepath.Abs(filepath.Dir(os.Args[0]))
    if err != nil {
            log.Fatal(err)
    }
    fmt.Println(dir)
}

文中关于golang的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《如何获取当前运行文件的目录?》文章吧,也可关注golang学习网公众号了解相关技术文章。

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