- 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.
 

          