在Windows下,系统根目录可能类似于C://
或D://
(当操作系统安装在驱动程序D:/
中时)。如何在Go中获取此文件夹?
答案 0 :(得分:2)
您可以使用filepath.VolumeName(os.GetEnv("SYSTEMROOT")) + "\\"
或更短的os.GetEnv("SYSTEMDRIVE") + "\\"
。 windir
环境变量可能不应该被诚实地使用,因为它不是系统控制的环境变量。
答案 1 :(得分:1)
您可以使用os.Getenv获取“environment”变量windir的值。一个例子如下:
package main
import "os"
import "fmt"
func main() {
fmt.Println("system dir: ", os.Getenv("windir"))
}
答案 2 :(得分:0)
以下是一些适用于 Windows 或 Unix 的选项。
import "os"
func root() string {
return os.Getenv("SystemDrive") + string(os.PathSeparator)
}
import (
"os"
"path/filepath"
)
func root() string {
s := os.TempDir()
return filepath.Join(s, "..", "..")
}
import (
"os"
"strings"
)
func root() string {
s := os.TempDir()
return s[:strings.IndexRune(s, os.PathSeparator) + 1]
}
import (
"os"
"path/filepath"
)
func root() string {
s := os.TempDir()
return filepath.VolumeName(s) + string(os.PathSeparator)
}
import (
"os"
"strings"
)
func root() string {
s := os.TempDir()
return strings.SplitAfterN(s, string(os.PathSeparator), 2)[0]
}