猿问

Go 中 Linux 上的八进制文件 perm 位

我正在尝试以八进制表示形式获取文件权限位。下面的代码将其打印为字符串。是否有以八进制或整数打印的 API?


import "os"

import "fmt"


func main() {

    m, _ := os.Stat("test.go")

    perm := m.Mode().Perm()

    fmt.Println(perm)

}   

$:~/gocode/ws/gocode$ go run perm.go 

-rw-rw-r--

@:~/gocode/ws/gocode$ 


皈依舞
浏览 126回答 1
1回答

慕娘9325324

例如,package mainimport (    "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--66406646640664
随时随地看视频慕课网APP

相关分类

Go
我要回答