datafile.go 627 B

123456789101112131415161718192021222324252627282930313233
  1. package datafile
  2. import (
  3. "bufio"
  4. "os"
  5. "strconv"
  6. )
  7. // GetFloats читает значение float64 из каждой строки файла.
  8. func GetFloats(fileName string) ([3]float64, error) {
  9. var numbers [3]float64
  10. file, err := os.Open(fileName)
  11. if err != nil {
  12. return numbers, err
  13. }
  14. i := 0
  15. scanner := bufio.NewScanner(file)
  16. for scanner.Scan() {
  17. numbers[i], err = strconv.ParseFloat(scanner.Text(), 64)
  18. if err != nil {
  19. return numbers, err
  20. }
  21. i++
  22. }
  23. err = file.Close()
  24. if err != nil {
  25. return numbers, err
  26. }
  27. if scanner.Err() != nil {
  28. return numbers, scanner.Err()
  29. }
  30. return numbers, nil
  31. }