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) }

    推荐阅读