Golangのポインタ渡しに関して ポインタはC言語を勉強したときに理解していたけどGolangでポインタ渡しを使う際に 「なぜ使うのか」 「値渡しとどう違うのか」 という部分があいまいだったので書いてみました。 ポインタに関しては下記記事を参照 「ポインタってなんだよ」みたいな方は下記記事を読んでおくと理解しやすいかもです。 ポインタ ポインタ変数 まずは関数への値渡しでアドレスを出力してみる func Test(a int) { fmt.Println("aのアドレス(関数内):", &a) } func main() { a := 10 fmt.Println("aのアドレス:", &a) Test(a) } // aのアドレス: 0xc4200160f0 // aのアドレス(関数内): 0xc4200160f8 表示されたaのアドレスに注目してください。 違うアドレスが出力されてい