ポインタとは?
CoddyのGOジャーニー「基礎」セクションの一部 — レッスン 60/109。
ポインタとは、別の変数のメモリ番地を格納する変数のことです。ポインタを使用することで、変数を間接的に参照したり変更したりすることができます。
ポインタ変数の宣言: 型名の前に * 記号を使用して、ポインタを保持できる変数を宣言します:
var pointerToInt *int // intを指すことができるポインタ変数を宣言します
var pointerToString *string // stringを指すことができるポインタ変数を宣言します既存の変数へのポインタを作成する: &(アドレス)演算子を使用して、変数のメモリアドレスを取得します:
x := 10
pointerToX := &x // pointerToX は x のメモリアドレスを保持するようになります
fmt.Println(pointerToX)ポインタが指す値へのアクセス: *(デリファレンス)演算子を使用します:
fmt.Println(*pointerToX) // アドレスに格納されている値を出力します出力は次のようになります:
0xc000018030 // メモリアドレス(実際のアドレスは異なります)
10 // そのアドレスにある値チートシート
ポインタは、別の変数のメモリアドレスを格納する変数です。
&(アドレス)演算子を使用して、変数へのポインタを取得します:
x := 10
pointerToX := &x // pointerToXはxのメモリアドレスを保持します*(デリファレンス)演算子を使用して、ポインタが指す値にアクセスします:
fmt.Println(*pointerToX) // アドレスに格納されている値を出力します自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。