获取当前文件目录及其上级目录(绝对路径)

package main

import (
   "fmt"
   "path/filepath"
)

func main() {
   // 获取当前文件目录绝对路径,结尾不带“/”
   currentPath, err := filepath.Abs(".")
   if err != nil {
      panic("获取当前文件目录绝对路径失败:" + err.Error())
   }
   fmt.Println("当前文件目录绝对路径:" + currentPath) // 当前文件目录绝对路径:D:\go\src\cmd

   // 获取上级目录绝对路径,结尾不带“/”
   parentPath := filepath.Dir(currentPath)
   fmt.Println("上级目录绝对路径:" + parentPath) // 上级目录绝对路径:D:\go\src
}

// ========== 总结 ========== //
// 1、使用os.Getwd()、os.Executable()、os.Args[0]、runtime.Caller(0)等方式获取当前文件目录都有可移植性问题。

Copyright © 2024 码农人生. All Rights Reserved