sentinel errors

io.EOF

>The name descends from the practice in computer programming of using a specific value to signify that no further processing is possible. So to with Go, we use specific values to signify an error.
> Examples include values like io.EOF or low level errors like the constants in the syscall package, like syscall.ENOENT.