在Go 中讀寫文字檔案到字串陣列
在字串陣列中讀寫文字檔案是一種常見的操作編程中的要求。在 Go 中,可以使用 Go1.1 中引入的 bufio.Scanner API 來實作。
考慮以下使用bufio.Scanner 將文字檔案讀入字串陣列的程式碼片段:
package main import ( "bufio" "fmt" "log" "os" ) func readLines(path string) ([]string, error) { file, err := os.Open(path) if err != nil { return nil, err } defer file.Close() var lines []string scanner := bufio.NewScanner(file) for scanner.Scan() { lines = append(lines, scanner.Text()) } return lines, scanner.Err() } func main() { lines, err := readLines("foo.in.txt") if err != nil { log.Fatalf("readLines: %s", err) } for i, line := range lines { fmt.Println(i, line) } }
該函數開啟指定的文件,為該檔案建立一個bufio.Scanner,迭代文件中的每一行,並將該行附加到一個字串中數組。
您也可以使用writeLines 函數將字串陣列寫入文字檔案:
func writeLines(lines []string, path string) error { file, err := os.Create(path) if err != nil { return err } defer file.Close() w := bufio.NewWriter(file) for _, line := range lines { fmt.Fprintln(w, line) } return w.Flush() } func main() { lines := []string{"line 1", "line 2", "line 3"} if err := writeLines(lines, "foo.out.txt"); err != nil { log.Fatalf("writeLines: %s", err) } }
此函數建立一個文件,使用bufio.Writer 將行寫入文件,並刷新寫入器以確保所有資料都寫入檔案。
這些函數提供了一種簡單有效的方法來從字串中讀取和寫入文字檔案Go 中的陣列。
以上是如何在 Go 中讀取文字檔案並將其寫入字串陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!