go言語入門学習サイト

go言語初心者のために基礎から解説します。

go言語で変数からポインタを取得する

goのポインタは、メモリアドレスを格納する変数です。

【結論】

変数からポインタを取得する場合は変数の前に&をつけます。

【どういうものか】

変数の前に&をつけると変数のメモリを返します。
このような形です。

p = 21 // ポインタpを通してiへ値を代入する

メモリは、1バイト毎に番号がつけられ、区別されています。

0x1040a0d0のように16進数で表示されます。


【具体例】

package main

import "fmt"

func main() {
i := 10
p := &i
fmt.Println(p)
}



0xc000016088

package main

import "fmt"

func main() {
i := 10
p := &i

*p = 11
fmt.Println(*p)
}

11

【解説】

i := 10が格納されたアドレスが0xc000016088です。
pがポインタ変数となりそこに格納されたアドレスが16進数となり出力されます。

ポインタ変数は値を入れ替える事もできます。
i := 10をpに格納をして *p = 11で11に入れ替えす。
値を入れ替える時は*pと書きます。
これで11がでます。

かなりざっくりとやりましたがなかなか理解が大変かもしれません。
今後はさらに細かく解説していきます。





TechAcademy [テックアカデミー]


【アイデミー】AIを学んで一発逆転のキャリアチェンジ!



取材やお仕事紹介などはこちらからお気軽にご連絡下さい。
ysa7825@gmail.com