Go言語のポインタ記号について
ひでまるブログ

Go言語のポインタ記号について

article cover

ひでまる

2022/12/17に公開

Go でポインタを触る際予め整理したいので、まとめたことを忘備録としてここに記録します。

ポインタについて

このコードは Go のポインタについての例が書かれたコードです。
このコードをもとにポインタ関連の記号の役割について解説するので、大まかに目を通してください。

func main() {
//通常の変数の宣言
num := 8
//ポインタ型の変数の宣言して、numのポインタを取得
var numPointer *int = &num
fmt.Println(numPointer)
// Stdout: 0x14000016080
//ポインタの参照先の値を取得
//num = *numPointer
fmt.Println(*numPointer)
// Stdout: 8
}

アスタリスク(*)

型の場合

型の場合はポインタ型を宣言する際に使われます。
これはポインターが入った変数だよ!と書かれてます。

var numPointer *int = &num

変数の場合

ポインター型の変数の参照先の値を取得する際に使用できます。

fmt.Println(*numPointer)
// Stdout: 8

アンドパサンド(&)

アンドパサンドは変数にのみ使用可能です。
変数からポインタを取得する際に使われます。

var numPointer *int = &num
fmt.Println(numPointer)
// Stdout: 0x14000016080

これでGo言語においてのポインターにの説明は終わりです。
もうおしまい!?と思われている方がいらっしゃると思います。実際に私も記事を書いてて思いました。
こんなすぐに終わってしまうくらい小さなことでした。筆者が初めてC言語にてポインターを触った際に頭を抱えたことはいったい・・・

Other articles