如何在Golang中创建一个目录?

8
所以我正在尝试创建一个CMS,每个用户都可以创建自己的网站,并将其存储在以他们选择的名称命名的目录中。然而,当我使用

时,出现了问题。
os.Mkdir("/Users/anonrose/Documents/goCode/src/github.com/anonrose/GoDataStructs/tests/myWebsite", os."some permission")

“某些权限”部分是我遇到麻烦的地方。在创建目录后,当我尝试访问它时,我从未拥有正确的权限。是否存在可以用来设置权限为读写权限的os.FileMode,使任何人都能访问该目录。


你尝试过 os.Mkdir("/Users/anonrose/Documents/goCode/src/github.com/anonrose/GoDataStructs/tests/myWebsite", int(0777)) 吗? - Ruslan
请注意在0777中的前导0以使其成为八进制值,仅使用777将会产生奇怪的权限。 - Joachim Isaksson
@JoachimIsaksson,那个没用,但我只是使用了os.ModePerm,它是FileMode类型,所以完成了。谢谢。 - anonrose
看起来是一个重复的问题 os.MkDir和os.MkDirAll权限值? - Hang
2个回答

11

如果您需要设置未在此处列出的显式权限位,则使用os.FileMode

os.Mkdir("/path/to/dir", os.FileMode(0522))

uint32的最不重要的9位代表文件权限,因此0777在此例中等于511。


1

我总是使用os.ModeDir

package main
import "os"

func main() {
   os.Mkdir("March", os.ModeDir)
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接