方法签名
// 文件打开、写入、关闭
func OpenFile(name string, flag int, perm FileMode) (*File, error)
func (f *File) WriteString(s string) (n int, err error)
func (f *File) Write(b []byte) (n int, err error)
func (f *File) Close() error
// 写入文件
func WriteFile(name string, data []byte, perm FileMode) error
// 读取文件
func ReadFile(name string) ([]byte, error)
// 删除文件
func Remove(name string) error
示例代码
package main
import (
"fmt"
"os"
)
func main() {
// 写入数据
os.WriteFile("demo.txt", []byte("Hello"), 0644)
// 追加写入
f, _ := os.OpenFile("demo.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
f.WriteString("Wrold")
f.Close()
// 读取文件
content, _ := os.ReadFile("demo.txt")
fmt.Println(string(content))
// HelloWrold
// 删除文件
os.Remove("demo.txt")
}
关于0644
权限,可以参考下图
- 第0位:文件属性。“-” 表示普通文件;“d” 表示是一个目录
- 第1~3位:文件所有者的权限
- 第4~6位:文件所属用户组的权限
- 第7~9位:其他人的权限
r: 4
w: 2
x: 1
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= rwx = 4+2+1 = 7
参考
- Go写文件的权限 WriteFile(filename, data, 0644)?
- Golang 基础之文件操作