本文摘自网络,作者runningstarh,侵删。
func checkErr(err error) {
if err != nil {
panic(err)
}
}
//获取当前的执行路径
//C:\Users\Vic\AppData\Local\Tempfunc getCurrentPath() string {
s, err := exec.LookPath(os.Args[0])
checkErr(err)
i := strings.LastIndex(s, "\\")
path := string(s[0 : i+1])
return path
}
//获取当前文件的详细路径
//D:/Go/workspace/port/network_learn/server/server.go
func CurrentFile() string {
_, file, _, ok := runtime.Caller(1)
if !ok {
panic(errors.New("Can not get current file info"))
}
return file
}
func main() {
//D:\Go\workspace\port
pa,_:=os.Getwd()
path:=getCurrentPath()
filePath:=CurrentFile()
fmt.Println(pa)
fmt.Println(path)
fmt.Println(filePath)
}
一、为什么写这样的一篇文章,因为我在获取当前文件的详细路径时找不到对应的方法,我将详细展示三种的源码方案
相关阅读 >>
手撸Golang 仿spring ioc/aop 之5 如何扫描
更多相关阅读请进入《Go》频道 >>

Go语言101
一个与时俱进的Go编程知识库。