Linux in Go上的八进制文件perm位
我正在尝试获取八进制表示的文件权限位。 下面的代码将其打印为字符串。有八进制打印的API吗 还是int 比如说,Linux in Go上的八进制文件perm位,go,file-permissions,Go,File Permissions,我正在尝试获取八进制表示的文件权限位。 下面的代码将其打印为字符串。有八进制打印的API吗 还是int 比如说, package main import ( "fmt" "os" "strconv" ) func main() { fi, err := os.Stat("test.go") if err != nil { fmt.Fprintln(os.Stderr, err) return } perm
package main
import (
"fmt"
"os"
"strconv"
)
func main() {
fi, err := os.Stat("test.go")
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
perm := fi.Mode().Perm()
fmt.Println(perm)
fmt.Printf("%o\n", perm)
fmt.Printf("%#o\n", perm)
fmt.Println(strconv.FormatUint(uint64(perm), 8))
fmt.Println("0" + strconv.FormatUint(uint64(perm), 8))
}
输出:
-rw-rw-r--
664
0664
664
0664
package main
import (
"fmt"
"os"
"strconv"
)
func main() {
fi, err := os.Stat("test.go")
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
perm := fi.Mode().Perm()
fmt.Println(perm)
fmt.Printf("%o\n", perm)
fmt.Printf("%#o\n", perm)
fmt.Println(strconv.FormatUint(uint64(perm), 8))
fmt.Println("0" + strconv.FormatUint(uint64(perm), 8))
}
-rw-rw-r--
664
0664
664
0664