Go+ 寫文件方法教程(4.15)
目錄

Go+ 概述
正文
導入包
利用 os 包寫入文件
打開并寫入文件
利用?bufio 包寫入文件
Go+ 概述
Go+ 是一門融合工程開發的 Go、數據科學領域的 Python、編程教學領域的 Scratch,以 Python 之形結合 Go 之心,讓工程師處理數據不需要學習新的開發語言,讓初學者學習編程、開發作品的門檻更低的編程語言。
正文
和讀文件方法類似,Go+ 也提供很多寫文件的方法,今天我們就來了解一下這方面的一些內容。
導入包
Go+ 在寫文件時,一般會使用的工具庫是 os 和 bufio 包,導入方式如下:
import (
"bufio"
"os"
)
利用 os 包寫入文件
首先,我們來看如何將字節數組寫入文件,示例代碼如下:
import (
"bufio"
"os"
)
func check(e error) {
if e != nil {
panic(e)
}
}
d1 := []byte("hello\nworld\n")
err := os.WriteFile("/tmp/f1", d1, 0644)
check(err)
執行完畢后,沒有觸發?panic,說明程序執行成功啦。但是不夠直觀,我們把文件內容讀一下再打印出來,進而佐證我們的推斷,示例代碼:
import (
"bufio"
"os"
)
func check(e error) {
if e != nil {
panic(e)
}
}
d1 := []byte("hello\nworld\n")
err := os.WriteFile("/tmp/f1", d1, 0644)
check(err)
dat, err := os.ReadFile("/tmp/f1")
check(err)
print(string(dat))
執行結果:
hello world
從執行結果可以知道我們的推斷是正確的,程序沒有問題。
親自試一試!
打開并寫入文件
寫文件還有一種思路,就是首先創建或者打開一個文件,再向其中寫入內容信息,示例代碼如下:
import (
"bufio"
"os"
)
func check(e error) {
if e != nil {
panic(e)
}
}
f, err := os.Create("/tmp/f2")
check(err)
// 打開文件后,defer 關閉文件屬于常規做法
defer f.Close()
d2 := []byte{1, 222, 66, 88, 10, 102}
n2, err := f.Write(d2)
check(err)
printf("wrote %d bytes\n", n2)
n3, err := f.WriteString("gop is go+\n")
check(err)
printf("wrote %d bytes\n", n3)
// 保證文件內容存入磁盤
f.Sync()
執行結果:
wrote 6 bytes wrote 11 bytes
親自試一試!
利用?bufio 包寫入文件
bufio 包也提供了緩沖寫卡器,可以用來寫文件,示例代碼如下:
import (
"bufio"
"os"
)
func check(e error) {
if e != nil {
panic(e)
}
}
f, err := os.Create("/tmp/f1")
check(err)
// 打開文件后,defer 關閉文件屬于常規做法
defer f.Close()
w := bufio.NewWriter(f)
n4, err := w.WriteString("use bufio package write data\n")
check(err)
printf("wrote %d bytes\n", n4)
// 保證緩存數據生效
w.Flush()
執行結果:
wrote 29 bytes
親自試一試!
Go
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。