Seems a little bit less duplicative if you have usage() accept an exit code.  Then this becomes:

```go
if len(args) == 1 {
  usage(0)
} 
if len(args) > 1 { ... }
usage(2)
```

What do you think?