Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Membaca dan Menulis Fail Teks ke Susunan Rentetan dalam Go?

Bagaimana untuk Membaca dan Menulis Fail Teks ke Susunan Rentetan dalam Go?

DDD
DDDasal
2024-12-13 12:23:20454semak imbas

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

Membaca dan Menulis Fail Teks ke Tatasusunan Rentetan dalam Go

Membaca dan menulis fail teks ke dalam dan keluar daripada tatasusunan rentetan adalah perkara biasa keperluan dalam pengaturcaraan. Dalam Go, ini boleh dicapai menggunakan API bufio.Scanner yang diperkenalkan dalam Go1.1.

Pertimbangkan coretan kod berikut yang menggunakan bufio.Scanner untuk membaca fail teks ke dalam tatasusunan rentetan:

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)
    }
}

Fungsi ini membuka fail yang ditentukan, mencipta bufio.Pengimbas untuk fail, berulang pada setiap baris dalam fail dan menambahkan baris pada tatasusunan rentetan.

Anda juga boleh menulis tatasusunan rentetan pada fail teks menggunakan fungsi 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)
    }
}

Fungsi ini mencipta fail, menulis baris ke fail menggunakan bufio.Writer, dan siram penulis untuk memastikan semua data ditulis pada fail.

Fungsi ini menyediakan cara yang mudah dan berkesan untuk membaca dan tulis fail teks ke dalam dan keluar dari tatasusunan rentetan dalam Go.

Atas ialah kandungan terperinci Bagaimana untuk Membaca dan Menulis Fail Teks ke Susunan Rentetan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn