func stringToInt(s string) int { i, err := strconv.Atoi(s) check(err) return i}os.FileMode(stringToInt("0777"))當不需要轉換為 int 時(不刪除前導零)通過直接設置權限:os.FileMode(0777)文件權限正確當前結果777777-r----x--x753753--wxrw---x500500-rwxrw-r--預期結果777-rwxrwxrwx753-r-xr-x-wx500-r-x------
1 回答

青春有我
TA貢獻1784條經驗 獲得超8個贊
根據@AdamSmith 和@JamesHenstridge 的評論,以下解決了該問題:
mode, _ := strconv.ParseInt(fileAttributes["mode"], 8, 32)
0777
511
-rwxrwxrwx
0753
491
-r-xr-x-wx
0500
320
-r-x------
但是,當刪除前導零時,結果完全相同:
777
511
-rwxrwxrwx
753
491
-r-xr-x-wx
500
320
-r-x------
總之,根本不需要前導零。導致問題的是不正確的類型。
- 1 回答
- 0 關注
- 171 瀏覽
添加回答
舉報
0/150
提交
取消