Мне нужно прочитать файл целых чисел в массив. У меня это работает с этим:
package main
import (
"fmt"
"io"
"os"
)
func readFile(filePath string) (numbers []int) {
fd, err := os.Open(filePath)
if err != nil {
panic(fmt.Sprintf("open %s: %v", filePath, err))
}
var line int
for {
_, err := fmt.Fscanf(fd, "%d\n", &line)
if err != nil {
fmt.Println(err)
if err == io.EOF {
return
}
panic(fmt.Sprintf("Scan Failed %s: %v", filePath, err))
}
numbers = append(numbers, line)
}
return
}
func main() {
numbers := readFile("numbers.txt")
fmt.Println(len(numbers))
}
Файл numbers.txt просто:
1
2
3
...
ReadFile()
кажется слишком длинным (возможно, из-за ошибки).
Существует ли более короткий / более идиоматический способ загрузки файла?