Чтение файла построчно в Go (Golang)

Чтобы прочитать файл построчно в Go (Golang), вы можете использовать различные методы. Вот несколько подходов:

Метод 1: использование bufio.Scanner

package main
import (
    "bufio"
    "fmt"
    "os"
)
func main() {
    file, err := os.Open("file.txt")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer file.Close()
    scanner := bufio.NewScanner(file)
    for scanner.Scan() {
        line := scanner.Text()
        fmt.Println(line)
    }
    if err := scanner.Err(); err != nil {
        fmt.Println(err)
    }
}

Метод 2: использование bufio.NewReader и os.File.ReadBytes

package main
import (
    "bufio"
    "fmt"
    "os"
)
func main() {
    file, err := os.Open("file.txt")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer file.Close()
    reader := bufio.NewReader(file)
    for {
        line, err := reader.ReadBytes('\n')
        if err != nil {
            break
        }
        fmt.Println(string(line))
    }
}

Метод 3: использование ioutil.ReadFile и strings.Split

package main
import (
    "fmt"
    "io/ioutil"
    "strings"
)
func main() {
    content, err := ioutil.ReadFile("file.txt")
    if err != nil {
        fmt.Println(err)
        return
    }
    lines := strings.Split(string(content), "\n")
    for _, line := range lines {
        fmt.Println(line)
    }
}

Эти методы демонстрируют три разных способа чтения файла построчно в Go. Вы можете выбрать метод, который лучше всего соответствует вашим требованиям.