Basics
Every Go program is made up of packages. Programs start running in package `main`.
By convention the pacckage name is the same as the last element of the import path. For instance, the `math/rand` package comprises files that begin with the statement `package rand`.
Imports
It’s best practice to convert multiple import statements to a “factored” import statement:
should be
Exported names
In Go, a name is exported if it begins with a capital letter. When importing a package, you can refer only to its exported names. Any “unexported” names are not accessible from outside the package.