NOTE
Go Type System
Defined and alias types, interfaces, method sets, assignability, conversion, generics, and zero values.
This is a historical learning note and may contain outdated or incomplete understanding.
Go is statically typed with named/defined types, aliases, composite types, interfaces, and parameterized types/generics. Interface satisfaction is implicit and depends on method sets.
Assignment and conversion are distinct: compatible values may require an explicit conversion even when their underlying representation is similar. Good API design uses the type system to express domain constraints while keeping abstractions small and composable.