Packaging is a fundamental part of the Go language. Every single Go program is required to have a package definition on the first line of the program. This helps readability, maintainability, referencing, and organization.
The main package in a Go program uses the main declaration. This main declaration calls the main function of the program. After this occurs, we have other imports within the main function that can be used to import other packages within the program. We should try and keep the main package small in order to modularize all dependencies within our programs. We will talk about package naming next.