Go - User Input

Beginner 10/10 Teacher 10/10 Architect 10/10
Try it: Prompt for a name and echo it back.

Scanner

scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan(){
  line := scanner.Text()
  fmt.Println("got:", line)
}

fmt.Scanf

var n int
fmt.Scanf("%d", &n)

Common errors

  • Not checking scanner.Err() after scanning loop.

Practice

  • Read integers line by line and sum them; stop on empty line.

Quick quiz

  1. What does Scan return when input ends?
Show answer It returns false; check Err() for any error vs EOF.