Чтобы прочитать весь файл в Go, вы можете использовать несколько методов в зависимости от ваших требований и размера файла. Вот несколько методов с примерами кода:
-
ioutil.ReadFile:
package main import ( "fmt" "io/ioutil" "log" ) func main() { filename := "example.txt" data, err := ioutil.ReadFile(filename) if err != nil { log.Fatal(err) } fmt.Println(string(data)) } -
os.Open и bufio.Scanner:
package main import ( "bufio" "fmt" "log" "os" ) func main() { filename := "example.txt" file, err := os.Open(filename) if err != nil { log.Fatal(err) } defer file.Close() scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) } if err := scanner.Err(); err != nil { log.Fatal(err) } } -
os.Open и io.ReadAll:
package main import ( "fmt" "io" "log" "os" ) func main() { filename := "example.txt" file, err := os.Open(filename) if err != nil { log.Fatal(err) } defer file.Close() data, err := io.ReadAll(file) if err != nil { log.Fatal(err) } fmt.Println(string(data)) } -
bufio.NewReader и bufio.Reader.ReadString:
package main import ( "bufio" "fmt" "log" "os" ) func main() { filename := "example.txt" file, err := os.Open(filename) if err != nil { log.Fatal(err) } defer file.Close() reader := bufio.NewReader(file) for { line, err := reader.ReadString('\n') if err != nil { if err == io.EOF { break } log.Fatal(err) } fmt.Print(line) } }
Это всего лишь несколько примеров методов чтения целого файла в Go. В зависимости от ваших конкретных требований вы можете выбрать метод, который подходит вам лучше всего.