demo.go(打开文件,写入文件):
package main
import (
"fmt"
"io"
"os"
)
func main() {
// 打开文件
// fp, err := os.Open("./demo.txt") // 只读方式打开
fp, err := os.OpenFile("./demo.txt", os.O_CREATE|os.O_APPEND, 6) // 读写方式打开
/*
os.O_CREATE|os.O_APPEND
或者 os.O_CREATE|os.O_TRUNC|os.O_WRONLY
os.O_RDONLY // 只读
os.O_WRONLY // 只写
os.O_RDWR // 读写
os.O_APPEND // 追加(Append)
os.O_CREATE // 如果文件不存在则先创建
os.O_TRUNC // 文件打开时裁剪文件
os.O_EXCL // 和O_CREATE一起使用,文件不能存在
os.O_SYNC // 以同步I/O的方式打开
第三个参数:权限(rwx:0-7)
0:没有任何权限
1:执行权限
2:写权限
3:写权限和执行权限
4:读权限
5:读权限和执行权限
6:读权限和写权限
7:读权限,写权限,执行权限
*/
if err != nil {
fmt.Println("文件打开失败。")
return
}
// defer延迟调用
defer fp.Close() //关闭文件,释放资源。
// 写入文件&