Go語言學習筆記之文件讀寫操作詳解
文件操作比較多,分為幾篇來寫吧。首先是文件的讀寫,在平時的工程化操作中使用最多。
文件寫
樣例代碼如下
package main import ( "bufio" "fmt" "io" "os" ) //寫文件 func DoWriteFile() error { _filePath := "./test.txt" _file, _err := os.OpenFile(_filePath, os.O_WRONLY|os.O_CREATE, 0666) if _err != nil { fmt.Printf("打開文件錯誤=%v\n", _err) return _err } //提前關閉文件 defer _file.Close() //寫入文件 _writer := bufio.NewWriter(_file) _writer.WriteString("hahaha!\n") _writer.Flush() return nil } func main() { DoWriteFile() }
這裡使用瞭os.OpenFile方法,後面的os.O_WRONLY模式會在後面提到。
執行結果
文件讀
樣例代碼如下
package main import ( "bufio" "fmt" "io" "os" ) //讀文件 func DoReadFile() error { _filePath := "./test.txt" _file, _err := os.Open(_filePath) if _err != nil { fmt.Printf("打開文件錯誤=%v\n", _err) return _err } defer _file.Close() _reader := bufio.NewReader(_file) for true { str, err := _reader.ReadString('\n') if err == io.EOF { break } fmt.Println(str) } return _err } func main() { DoReadFile() }
執行結果如下
hahaha!
Process finished with the exit code 0
註意,os.Open方法是以隻讀模式打開文件。
小結
在使用os.OpenFile方法的時候需要使用到文件模式,文件的打開模式如下:
O_RDONLY int = syscall.O_RDONLY // 隻讀模式打開文件
O_WRONLY int = syscall.O_WRONLY // 隻寫模式打開文件
O_RDWR int = syscall.O_RDWR // 讀寫模式打開文件
O_APPEND int = syscall.O_APPEND // 寫操作時將數據附加到文件尾部
O_CREATE int = syscall.O_CREAT // 如果不存在將創建一個新文件
O_EXCL int = syscall.O_EXCL // 和O_CREATE配合使用,文件必須不存在
O_SYNC int = syscall.O_SYNC // 打開文件用於同步I/O
O_TRUNC int = syscall.O_TRUNC // 如果可能,打開時清空文件
到此這篇關於Go語言學習筆記之文件讀寫操作詳解的文章就介紹到這瞭,更多相關Go語言文件讀寫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!