Files
headfirstgo/chapter5/datafile/floats.go
2025-01-30 20:55:42 +03:00

35 lines
725 B
Go

// Пакет datafile предназначен для чтения данных из файлов
package datafile
import (
"bufio"
"os"
"strconv"
)
// GetFloats читает значение float64 из каждой строки файла
func GetFloats(fileName string) ([3]float64, error) {
var numbers [3]float64
file, err := os.Open(fileName)
if err != nil {
return numbers, err
}
i := 0
scanner := bufio.NewScanner(file)
for scanner.Scan() {
numbers[i], err = strconv.ParseFloat(scanner.Text(), 64)
if err != nil {
return numbers, err
}
i++
}
err = file.Close()
if err != nil {
return numbers, err
}
if scanner.Err() != nil {
return numbers, scanner.Err()
}
return numbers, nil
}