-3
func stringToInt(s string) int {
i, err := strconv.Atoi(s)
check(err)
return i
}
os.FileMode(stringToInt("0777"))
时不需要转换为INT(前导零不会被删除),通过直接设置权限:为什么使用Golang设置的文件权限与预期不同?
os.FileMode(0777)
文件的权限是否正确
当前结果
777
777
-r----x--x
753
753
--wxrw---x
500
500
-rwxrw-r--
预期结果
777
-rwxrwxrwx
753
-r-xr-x-wx
500
-r-x------
您期待“0777”被解释为八进制的问题吗? –
“0777”与“777”不同的唯一上下文就是一个字符串。如果你将它转换为“int”,那么它当然会失去它的前导数字。正如@JamesHenstridge所问:你期望'0777'是'777 base 8'吗? –