はじめに
goを弄る際、必ずと言っていいほど毎回調べている気がするので整理する。
サンプルプログラム
package main import "fmt" func one(x *int) { *x = 1 } func main() { var n int = 100 one(&n) fmt.Println(n) fmt.Println(&n) }
サンプルプログラムの出力結果
1 0xc420084008
解説
function oneはintのアドレスを引数に受け付ける
“` * “` はポインタ型の箱として理解する
fmt.Println(*n) とした場合、箱の中身。
上記例でいうと100が表示される。
“` & “` はアドレスとして理解する。上記例でいうと0xc420084008とかになる。