【发布时间】:2016-03-31 06:54:57
【问题描述】:
func stringToInt(s string) int {
i, err := strconv.Atoi(s)
check(err)
return i
}
os.FileMode(stringToInt("0777"))
当不需要转换为 int 时(不删除前导零),直接设置权限:
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吗?
标签: string file go permissions int