- init function is executed before main function and after all global variable declarations have evaluated (including the varibles and init functions declared in the imported packages).
- init function is always called regardless if there is main or not.
- Each source file may have zero or multiple init functions. These init functions are executed in the order that they appear in the file.