How to get executing code's file's name in go?

huangapple go评论84阅读模式
英文:

How to get executing code's file's name in go?

问题

你好!以下是你要翻译的内容:

假设我有一个文件:

i_want_this_name.go:

package main

func main(){
    filename := some_func() // 应该是 "i_want_this_name"
}

如何在Go语言中获取正在执行的代码文件的名称?

英文:

Say I have a file:

i_want_this_name.go:

package main

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

How do I get the executing code's file's name in go?

答案1

得分: 2

命令的名称可以在文档中的os包中的os.Args[0]找到:

> var Args []string
>
> Args保存命令行参数,从程序名称开始。

要使用它,请按照以下步骤进行操作:

package main

import "os"

func main(){
    filename := os.Args[0]
}
英文:

The name of the command can be found in os.Args[0] as states in the documentation for the os package:

> var Args []string
>
> Args hold the command-line arguments, starting with the program name.

To use it, do the following:

package main

import "os"

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

答案2

得分: 2

这是适用于您的代码:

package main

import (
  "fmt"
  "runtime"
)

func main() {
  _, fileName, lineNum, _ := runtime.Caller(0)
  fmt.Printf("%s: %d\n", fileName, lineNum)
}

请注意,这是一个打印当前文件名和行号的简单示例。

英文:

This should work for you:

package main

import (
  "fmt"
  "runtime"
)

func main() {
  _, fileName, lineNum, _ := runtime.Caller(0)
  fmt.Printf("%s: %d\n", fileName, lineNum)
}

huangapple
  • 本文由 发表于 2015年9月28日 15:53:26
  • 转载请务必保留本文链接:https://go.coder-hub.com/32818116.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定