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

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

Go言語のポインタ記号について
author's icon

ひでまる

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

シンプルで爆速なプラグインマネージャー Jetpack.vimのカバー画像
neovim

シンプルで爆速なプラグインマネージャー Jetpack.vim

Vim のシンプルで高速なプラグインマネージャー「vim-jetpack」のインストール方法と設定方法を解説。主要なプラグイン管理方式にも対応し、他のマネージャーからの移行手順も紹介。

Apple Silicon Macで原神を快適に遊ぶのカバー画像
原神

Apple Silicon Macで原神を快適に遊ぶ

M1やM2などのApple Silicon製Macで快適に原神を遊ぶ方法を解説。PlayCoverを使って、外出先でもストレスなくプレイできるように設定する手順を紹介します。

スターレイルをコントローラーで遊びたい!のカバー画像
崩壊:スターレイル

スターレイルをコントローラーで遊びたい!

スターレイルではコントローラーのサポートが限定的で、接続しても認識しないことがあります。しかし、Steamを介した際には対応しているため、これを利用してコントローラーでプレイする方法を紹介します。

Dockerでマイクラサーバーをサクッと立てるのカバー画像
docker

Dockerでマイクラサーバーをサクッと立てる

Docker を使って手軽に Minecraft サーバー (PaperMC) を立てる方法をメモしました。Docker Compose を使えば管理もラクチン。他のサーバー (Bukkit, Fabric など) でも応用できるので、自分好みの環境を作りたい人はぜひ参考にどうぞ。

三年間そだてたdotfilesとおさらばした話のカバー画像
neovim

三年間そだてたdotfilesとおさらばした話

180個のプラグインで重くなったNeovimを軽量化するため、3年間育てたdotfilesを一新した体験記。vim-jetpackを使った効率的なプラグイン管理と遅延読み込みについて。