如何将文件模式转换为 int?
How to convert filemode to int?
示例代码:
func main() {
p, _ := os.Open(os.Args[1])
m, _ := p.Stat()
println(m.Mode().Perm())
}
文件的模式为 0775
(-rwxrwxr-x
)。 运行 喜欢:
./main main
打印 509
第二个:
func main() {
p, _ := os.Open(os.Args[1])
m, _ := p.Stat()
println(m.Mode().Perm().String())
}
此代码打印 -rwxrwxr-x
.
如何获得 0775
格式的模式?
值 509
是权限位的十进制(基数 10)表示形式。
形式0775
是八进制表示法(基数为8)。您可以使用 %o
动词以八进制表示形式打印数字:
perm := 509
fmt.Printf("%o", perm)
输出(在 Go Playground 上尝试):
775
如果您希望输出为 4 位数字(在本例中带有前导 0
),请使用格式字符串 "%04o"
:
fmt.Printf("%04o", perm) // Output: 0775
示例代码:
func main() {
p, _ := os.Open(os.Args[1])
m, _ := p.Stat()
println(m.Mode().Perm())
}
文件的模式为 0775
(-rwxrwxr-x
)。 运行 喜欢:
./main main
打印 509
第二个:
func main() {
p, _ := os.Open(os.Args[1])
m, _ := p.Stat()
println(m.Mode().Perm().String())
}
此代码打印 -rwxrwxr-x
.
如何获得 0775
格式的模式?
值 509
是权限位的十进制(基数 10)表示形式。
形式0775
是八进制表示法(基数为8)。您可以使用 %o
动词以八进制表示形式打印数字:
perm := 509
fmt.Printf("%o", perm)
输出(在 Go Playground 上尝试):
775
如果您希望输出为 4 位数字(在本例中带有前导 0
),请使用格式字符串 "%04o"
:
fmt.Printf("%04o", perm) // Output: 0775