func checkErr(err error) {
if err != nil {
panic(err)
}
}
//获取当前的执行路径
//C:\Users\Vic\AppData\Local\Temp\
func 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)
}
一、为什么写这样的一篇文章,因为我在获取当前文件的详细路径时找不到对应的方法,我将详细展示三种的源码方案
有疑问加站长微信联系(非本文作者)