// PutContentFile 写入文件 // 文件不存在时自动创建,文件存在则追加内容 func PutContentFile(path string, content string) { file, err := os.OpenFile(path, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666) if err != nil { log.Fatal(err) } defer func(file *os.File) { err := file.Close() if err != nil { log.Fatal(err) } }(file) _, err = file.Write([]byte(content)) if err != nil { log.Fatal(err) } // 下面的属性可以单独使用,也可以组合使用。 // 组合使用时可以使用 OR 操作设置 OpenFile的第二个参数,例如: // 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的方式打开 }
测试
package main import ( "log" "os" ) func main() { path := "text3.log" content := "学习go\n" PutContentFile(path, content) }