为了账号安全,请及时绑定邮箱和手机立即绑定

如何正确实例化 os.FileMode

如何正确实例化 os.FileMode

Go
RISEBY 2021-09-20 20:37:19
我看过无数示例和教程,它们展示了如何通过设置文件的权限位来创建文件以及所有这些示例和教程。我想知道/找出如何在创建/更新文件期间正确实例化 os.FileMode 以提供给编写器。一个粗略的例子如下:func FileWrite(path string, r io.Reader, uid, gid int, perms string) (int64, error){    w, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0664)    if err != nil {        if path == "" {            w = os.Stdout        } else {            return 0, err        }    }    defer w.Close()    size, err := io.Copy(w, r)    if err != nil {        return 0, err    }    return size, err}在上面的基本功能中,设置了权限位 0664,尽管有时这可能有意义,但我更喜欢正确设置文件模式的正确方法。如上所示,一个常见的例子是 UID/GID 是已知的并且已经作为 int 值提供,而 perms 是以前收集并作为字符串插入到数据库中的八进制数字。
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 260 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信