考虑以下 Golang 中的短程序,它只是尝试写入一个文件。
package main
import "io/ioutil"
import "os"
func main() {
ioutil.WriteFile("/tmp/FooBar", []byte("Hello World"), os.ModeAppend)
}
运行这个程序后,我得到一个具有以下权限的文件。
---------- 1 merlin sudo 5 Oct 12 15:02 /tmp/FooBar
权限基本上无法使用。
如果我运行等效的 C 程序。
#include <stdio.h>
int main(){
FILE* foo = fopen("/tmp/BarFoo", "a");
fprintf(foo, "Hello World");
fclose(foo);
}
然后我得到一个看起来像这样的文件,这是更可取的。
-rw-r--r-- 1 merlin sudo 11 Oct 12 15:10 /tmp/BarFoo
Golang程序中标志的正确组合是什么才能生成与 C 程序具有相同权限的文件?
我查看了FileMode 文档,但没有看到任何好的候选者。
慕标琳琳
相关分类