是否可以通过跨平台方式获取Go中的系统文件夹路径?例如。临时文件夹,“文件”文件夹等。在Go中获取系统文件夹路径?
我发现ioutil.TempFolder/File
但他们做了一些不同的事情。任何想法?
是否可以通过跨平台方式获取Go中的系统文件夹路径?例如。临时文件夹,“文件”文件夹等。在Go中获取系统文件夹路径?
我发现ioutil.TempFolder/File
但他们做了一些不同的事情。任何想法?
目前没有办法以跨平台的方式访问标准系统文件夹。主目录,虽然可以访问使用user package:
u, _ := user.Current()
fmt.Println(u.HomeDir)
内置选项尚不存在。您最好的选择是open an issue并提交功能请求。
与此同时,您可以使用platform specific +build flags自行添加支持。有了你有两个选择:
阅读os
软件包的源代码以了解如何获取特定于平台的信息也可能有所帮助。这可以帮助您设计一种获取这些信息的方式,并且可能会提交一个包含的补丁。
这是在2013年问的,有没有更新? – Acidic
除了卢克提到的方法,在Windows上,你可以从environment variables得到一些路径。同样适用于Unix($ HOME等)。
对于每个Windows的标准文件夹的,什么是对应的Linux文件夹和相应的OS-X文件夹? [Windows已知文件夹](http://msdn.microsoft.com/en-us/library/windows/desktop/dd378457.aspx) – peterSO
我认为@ peterSO的观点是,对于每个Linux系统文件夹可能没有好的模拟在Windows中,或者在Mac中用于Windows等。系统文件夹通常不被认为是不同系统中的变体,例如文件就是这样。例如,在Windows和Linux上,虽然处理文件的界面可能略有不同,但它们基本上具有相同的基本概念 - 读取和写入。另一方面,系统文件夹并不完全类似于另一个。 – joshlf
我知道并非所有特殊文件夹都适用于所有系统。但是几乎所有的系统都是当前用户的“temp”或“home”文件夹。的确,许多库(如Qt)都提供了一种以跨平台方式访问这些文件夹的方法(http://qt-project.org/doc/qt-5.0/qtcore/qstandardpaths.html)。我想它在Go中还不存在。 –