[Go Memorandum] Static typing, type inference, functions, structures, receivers, Go Modules, Packages, Imports
In Go language, functions begin with the func keyword and require argument and return types (static typing). Type names are written "behind" variable names; Go structures differ from classes in that methods are defined outside of the structure definition, and structures and methods are associated via "receivers".