```go package main func main() { } ``` Executable commands (programs) always begin with `package main`[^1] and they must have an entry point declared as `func main`. [^2] --- Next: [[3. go run]] [^1]: All Go source files must start with a package statement, but commands must use `package main`, specifically, and the main package can't be imported by other packages. The main package is typically the top level directory for simple commands, but it doesn't have to be; often the main package is a subdirectory (frequently called `cmd`). [^2]: The fundamental unit of code reuse in Go is the *package*; this comprises the source files contained within a directory. Only the names of types, variables, constants, and functions that start with a capital letter can be exported for use by other packages. Since no other package can import the main package, there would be no point attempting to export `main` (or anything else).