略微加速

略速 - 互联网笔记

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

2021-01-18 leiting (6701阅读)

标签 Golang

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 系统下默认是“\”,写在代码中时要用“\\”或“/”代替。


北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3