August 2025
Beginner to intermediate
552 pages
7h 58m
Japanese
変数と関数について説明しましたので、「ポインタ」についての理解を深めましょう。ほかの言語におけるクラスと比較しながら、Go言語におけるポインタの役割を説明します。続いて、ポインタをいつどのように使うべきか、Goではどのようにメモリ領域が割り当てられるのかを説明します。ポインタを正しく使うとGoプログラムがより速く、より効率的になります。
ポインタとは、ある値が保存されているメモリ内の位置を表す変数です。次のコードで変数がメモリに保存される様子を図6-1に示します。
varxint32=10varybool=true
図6-1 メモリ内に変数を保存
どの変数も、1バイトもしくは何バイトか連続したメモリに保存されており、その位置のことを「アドレス」と呼びます。変数の型が違えば、保存に必要なメモリの量も異なります。上の例では2つの変数を示していますが、xは32ビット整数で、yはブール値(真偽値)です。32ビットのintを格納するには4バイト必要なので、xの値はアドレス1から始まりアドレス4で終わる4バイトに格納されます。ブール値の記憶に必要なのは1バイトです(trueまたはfalseを表すには1ビットあれば十分ですが、アドレスは1バイト単位でしか指定できません)。そのため、yの値はアドレス5の1バイトに格納され、trueは値1で表されます。
ポインタも変数ですが、その中身が「別の変数の値が記憶されているアドレス」になっています。ポインタがメモリにどのように保存されているかを ...
Read now
Unlock full access