// Chapter 21 example: add up numbers until the input runs out. // Run with: go run exercises/21/07-read-until-end.go package main import ( "bufio" "fmt" "os" "strconv" "strings" ) func main() { reader := bufio.NewReader(os.Stdin) total := 0 for { fmt.Print("Number: ") text, err := reader.ReadString('\n') line := strings.TrimSpace(text) if err != nil && line == "" { fmt.Println("No more input.") break } number, err := strconv.Atoi(line) if err != nil { fmt.Println("Skipped:", line) continue } total += number } fmt.Println("Total:", total) }