Чтобы прочитать файл построчно в 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. Вы можете выбрать метод, который лучше всего соответствует вашим требованиям.