为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
开满天机 2021-11-08 18:57:33
说我有一个文件:i_want_this_name.go:package mainfunc main(){    filename := some_func() // should be "i_want_this_name"}如何在 go 中获取执行代码的文件名?
查看完整描述

2 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

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


var Args []string


Args 保存命令行参数,从程序名称开始。


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


package main


import "os"


func main(){

    filename := os.Args[0]

}


查看完整回答
反对 回复 2021-11-08
?
阿晨1998

TA贡献2037条经验 获得超6个赞

这应该适合你:


package main


import (

  "fmt"

  "runtime"

)


func main() {

  _, fileName, lineNum, _ := runtime.Caller(0)

  fmt.Printf("%s: %d\n", fileName, lineNum)

}


查看完整回答
反对 回复 2021-11-08
  • 2 回答
  • 0 关注
  • 272 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信