構造体のセレクタ
セレクタは自動的に構造体へのポインタの間接参照を行います。xが構造体へのポインタ型のときx.yは(*x).yの簡略形として使用可能です。フィールドyも同じく構造体へのポインタ型のときx.y.zも同様に(*(*x).y).zの簡略形です。xが*A型の匿名フィールドを持ち、かつAも同様に構造体であるなら、x.fは(*x.A).fの簡略形です。
どおりで!
new()
組み込み関数newはパラメータに型Tを取り、型*Tの値を返します。
なるほどなあっ!
make()
スライス、マップ、チャネルはnewによる間接的なメモリ割り当てを必要としない、参照型です。組み込み関数makeはパラメータに型Tを取ります。このTはスライス、マップ、チャネル型でなければなりません。またオプションとして式のリスト(作成する種類によって異なる)を取ります。makeはT型(*Tではない)を返します。
なるほどなあっっ?
スライスが配列へのポインタをもって云々というのは分かる(参照してる感が理解できる)けど、マップはどうしてるんだろ?キャパシティ云々のこと考えると、やっぱバックで適当に配列見繕ってマップパターンを実現してるのかな?