unlike C++, Go allows inline get-addr (a.k.a. get addr for a temporary value)
*type
except for the star is reversed (placed before type, the same as C
&expr where expr is of Type→ *Type
*ptrExpr where ptrExpr is of *Type → Type
new(Type) → *Type
like Nim, access for field of obj via ptr is written as ptr.field (
(*ptr).field
also permitted)
[ n ]Type
[n]Type{v,...}
[…]Type{v,…}