unlike C++, Go allows inline get-addr (a.k.a. get addr for a temporary value)

ptr

*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)

array

[ n ]Type

[n]Type{v,...}

[…]Type{v,…}