When building a command-line tool in Go, you’ll eventually want to accept arguments as flags. If you’re using the standard library’s flag package, you’ll have to decide where in your package to define your flags. The only requirement of flag is that the flags be defined before flag.Parse() is called. After reviewing many existing packages, the most common way to define command-line flags can be de