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

时间:2015-09-28 07:53:26

标签: go

说我有一个文件:

i_want_this_name.go:

package main

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

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

2 个答案:

答案 0 :(得分:2)

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

  

var Args []string

     

Args持有命令行参数,从程序名称开始。

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

package main

import "os"

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

答案 1 :(得分:2)

这应该适合你:

package main

import (
  "fmt"
  "runtime"
)

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