最近解決我的程式設計任務時,我發現沒有任何方法可以取得行切片並將處理後的行保存在磁碟上。當然,我可以將字串拆分為字串切片並使用該切片,但我希望一次性擁有一些包,並在需要時輕鬆使用它。
嗯,我想要以下方法:
因此,在我決定此類套件應該具有哪些方法之後,我編寫了 gfu(gfu 代表 Go File Utils)套件並希望與大家分享,請參閱 github 儲存庫:
此方法執行以下操作:
1 傳回結果的元組([]string, error),自動偵測行結尾(CR、LF 或 CRLF);
2 從切片項目中刪除行結束符號
3 如果 omitEmpty 參數設定為 true,則刪除空白行
範例:
lines, err := gfu.ReadAllLines("myFile.txt", true)
此方法執行以下操作:
範例:
lines := []string{ "{", " \"id\": 1,", " \"name\": \"Michael Ushakov\"", "}", } file := "write_all_lines_test.txt" err := gfu.WriteAllLines(file, lines, "\n")
WriteAllLines 會覆蓋檔案內容,但是如果我們需要在現有檔案中新增一些行部分該怎麼辦?我們應該使用 AppendAllLines 函數,其簽章與 WriteAllLines 相同:
lines := []string{ "{", " \"id\": 1,", " \"name\": \"Michael Ushakov\"", "}", } file := "append_all_lines_test.txt" err := gfu.WriteAllLines(file, lines, "\n") additionalLines := []string{ "{", " \"id\": 2,", " \"name\": \"Alex Petrov\"", "}", } err := gfu.AppendAllLines(file, lines, "\n")
所有這些功能都非常方便,並且組合在一個小包中,並且對所有這些功能都進行了測試,因此我們可以認為它們是可靠的。我在我的軟體開發之旅上更進一步。如果您覺得這個包有幫助,請不要忘記給我們一顆星。
以上是GO 使用切片寫入和讀取文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!