開檔寫檔,都是程式常有的功能.
// hello44
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
outputf, err := os.OpenFile("output.txt", os.O_CREATE|os.O_WRONLY, 0664)
// ^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^
// 是用 OpenFile,不是只用Open,因為還要設定模式. 建立檔案 只有寫入 UNIX檔案權限
if err != nil {
fmt.Println("開檔錯誤!")
return
}
defer outputf.Close()
// ^^^^
// 離開時關檔
outStr := "Golang寫檔測試\n"
outputWriter := bufio.NewWriter(outputf)
//^^^^^^^^^^^^
// 建立緩衝輸出物件
for i := 0; i < 5; i++ {
outputWriter.WriteString(outStr)
}
outputWriter.Flush()
// ^^^^^^
// 因為是緩衝式,最後要強制寫入
}
執行結果:
λ cat output.txt
Golang寫檔測試
Golang寫檔測試
Golang寫檔測試
Golang寫檔測試
Golang寫檔測試