七叶笔记 » golang编程 » Go语言os标准库常用方法Getwd/Getenv/Chdir

Go语言os标准库常用方法Getwd/Getenv/Chdir

1. os.Getwd()函数

原型:func Getwd()(pwd string, err error)

作用:获取当前文件路径

返回:当前文件路径的字符串和一个err信息

示例:

 package main
import (
       "fmt"
       "os"
)
func main() {
       dir,_ := os.Getwd()
       fmt.Println("当前路径:",dir)
}  

输出:

当前路径: D:\Projects\Go\mGoLab01

2. os.Getenv()函数

原型:func Getenv(key string) string

作用:获取系统环境变量的值

参数:key – 系统环境变量名

返回:系统环境变量的值

示例:

 package main
import (
       "fmt"
       "os"
)
func main() {
       path := os.Getenv("GOPATH")
       fmt.Println("环境变量GOPATH的值是:",path)

}  

输出:

环境变量GOPATH的值是: D:/Projects/Go

3. os.Chdir()函数

原型:func Chdir(dir string) error

作用:将当前文件路径改变为目标路径(非真实改变)

参数:dir – 目标路径(即改变之后的路径)

返回:修改成功,返回 nil;修改失败(如:目标路径不存在的情况),返回错误信息。

示例一:

 func main() {
       beforeDir, _ := os.Getwd()
       fmt.Println("起始路径:",beforeDir)
       err := os.Chdir("D:\\Projects\\Go\\Demo02")  //存在的目录
       if err == nil{
              lateDir, _ := os.Getwd()
              fmt.Println("修改后的路径:",lateDir)
       }else {
              fmt.Println("error:",err)
       }
}  

输出:

起始路径: D:\Projects\Go\mGoLab01

修改后的路径: D:\Projects\Go\Demo02

示例二:

 func main() {
       beforeDir, _ := os.Getwd()
       fmt.Println("起始路径:",beforeDir)
       err := os.Chdir("D:\\Projects\\Go\\Demo03")   // 不存在的目录
       if err == nil{
              lateDir, _ := os.Getwd()
              fmt.Println("修改后的路径:",lateDir)
       }else {
              fmt.Println("error:",err)
       }
}   

输出:

起始路径: D:\Projects\Go\mGoLab01
error: chdir D:\Projects\Go\Demo03: The system cannot find the file specified.

注:文件路径,Window 系统下默认是“\”,写在代码中时要用“\\”或“/”代替。

相关文章