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 = &numfmt.Println(numPointer)// Stdout: 0x14000016080
これでGo言語においてのポインターにの説明は終わりです。
もうおしまい!?と思われている方がいらっしゃると思います。実際に私も記事を書いてて思いました。
こんなすぐに終わってしまうくらい小さなことでした。筆者が初めてC言語にてポインターを触った際に頭を抱えたことはいったい・・・