PUROGU LADESU

ポエムがメインのブログです。

【Golang】5 ポインタ

ポインタ

var p *int = &n //intのポインタ型、アドレスを格納
p //アドレス
*p //ポインタが指す値

new make

指定の型のメモリ確保する

var p *int = new(int)
//*p は0になる

スライスやマップはmakeでメモリ確保(ポインタを返さない)

struct 構造体

先頭は大文字でパブリック、小文字だとプライベートになる

type Ver struct {
	X int
	Y int
	S string
}
v := Ver{X: 1, Y: 2}
v = Ver{3, 4, "bbb"}

初期化しなければデフォルトが入る
名前を指定しなければ順番どおりはいる

アドレスを取る場合、newよりも&を先頭につける事が多い
(マップやスライスなどはmakeを使うほうが多い)

structの場合は、参照渡しでも*つけずに値にアクセスできる!!