在Golang 中,讀取文字檔案需要使用os.Open() 開啟它,然後使用傳回的*os.File 物件來執行讀取操作。但是,僅僅打開文件並不能檢索其內容。
要取得檔案內容,可以使用 io.ReadAll 或手動分塊讀取。
使用 io.ReadAll:
b, err := io.ReadAll(file) fmt.Print(b)
此方法將整個文件讀入內存,適合較小的文件。
手動分塊讀取:
buf := make([]byte, 32*1024) for { n, err := file.Read(buf) if n > 0 { fmt.Print(buf[:n]) } if err == io.EOF { break } if err != nil { log.Printf("read %d bytes: %v", n, err) break } }
在這種方法中,您定義一個緩衝區並以區塊的形式讀取檔案內容,這對於大文件來說會更有效。
bufio 套件提供了一種讀取文字檔案的便捷方法。它提供了 bufio.Scanner 類型,可以簡化標記化文件內容:
scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) }
Scan() 方法根據分隔符號(預設為換行符)推進掃描儀的標記。
以上是如何在 Golang 中讀取文字檔?的詳細內容。更多資訊請關注PHP中文網其他相關文章!