Файл выглядит примерно так:
John Smith
100 90 80 90
50 60 80 99 40 20
Но в файле может быть любое количество людей / оценок. Я знаю, как пройти по циклу и получить имя и фамилию человека, но как я могу пройти по первой строке чисел, добавить их к своей общей сумме, затем пройти по второй строке и добавить их к другой итоговой сумме?
Я не нашел способа проверить конец строки в Go, поэтому не знаю, как отличить первую строку чисел от второй.
Вот что я пробовал:
package main
import (
"fmt"
"os"
"log"
"bufio"
//"unicode"
//"container/list"
)
type Student struct {
FirstName string
LastName string
}
func main(){
fmt.Println("What is the name of your file?\n")
var filename string
fmt.Scan(&filename)
file, err := os.Open(filename)
if err != nil {
log.Fatal(err)
}
scanner := bufio.NewScanner(file)
scanner.Split(bufio.ScanWords)
//var scanCount int = 0
//var studentCount = 1
//var gradeSum = 0
//var gradeAvg = 0
var students [100]Student
for scanner.Scan() {
students[0].FirstName = scanner.Text()
students[0].LastName = scanner.Text()
fmt.Println(students[0].FirstName)
//count ++
}
}
Это то, что я имею до сих пор. Все, что я пробовал, включая числа, не сработало, поэтому я удалил его.