首頁 > 後端開發 > Golang > 如何在 Go 中讀取文字檔案並將其寫入字串陣列?

如何在 Go 中讀取文字檔案並將其寫入字串陣列?

DDD
發布: 2024-12-13 12:23:20
原創
383 人瀏覽過

How to Read and Write Text Files to a String Array in Go?

在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板