программа не видит файл который должна прочитать
Недавно начал изучение golang по книге Head first go, написанной Jay McGavren. Там был пример кода, который позволял читать числа с текстового файла. Но как бы я не старался, каждый раз возникает ошибка: "open data.txt: The system cannot find the file specified. exit status 1". С переменной средой GOPATH всё в порядке, файл существует. Вот собственно сам код и пакет "github.com/headfirstgo/datafile":
package main
import (
"fmt"
"github.com/headfirstgo/datafile"
"log"
)
func main() {
numbers, err := datafile.GetFloats("data.txt")
if err != nil {
log.Fatal(err)
}
var sum float64 = 0
for _, number := range numbers {
sum += number
}
sampleCount := float64(len(numbers))
srw := sum / sampleCount
fmt.Printf("Average: %0.2f\n", srw)
}
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
}