- 首页 > it技术 > >
golang 获取三种不同的路径方法(执行路径,项目路径,文件路径)
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)
}
推荐阅读