【问题标题】:How to get executing code's file's name in go? [duplicate]如何在go中获取执行代码文件名? [复制]
【发布时间】:2015-09-28 17:49:36
【问题描述】:

假设我有一个文件:

i_want_this_name.go:

package main

func main(){
    filename := some_func() // should be "i_want_this_name"
}

如何在 go 中获取执行代码的文件名?

【问题讨论】:

    标签: go


    【解决方案1】:

    命令的名称可以在os.Args[0] 中找到,如the os package 的文档中所述:

    var Args []string

    Args 保存命令行参数,以程序名称开头。

    要使用它,请执行以下操作:

    package main
    
    import "os"
    
    func main(){
        filename := os.Args[0]
    }
    

    【讨论】:

      【解决方案2】:

      这应该适合你:

      package main
      
      import (
        "fmt"
        "runtime"
      )
      
      func main() {
        _, fileName, lineNum, _ := runtime.Caller(0)
        fmt.Printf("%s: %d\n", fileName, lineNum)
      }
      
      猜你喜欢
      • 2014-02-17
      • 1970-01-01
      • 2021-11-11
      • 2016-09-10
      • 2011-02-09
      • 2014-01-21
      • 2013-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多