Go言語ではインターフェイスとポインタの違いについて ちゃんと理解しておく必要があります。 Go言語にはインターフェイス値がある C/C++を勉強した人にとってはポインタは理解できていると思いますが、Go言語にはインターフェイスというものも登場します。 C++でももちろん、interfaceというのは出てきますが、 C++の印象とはちょっと違ったものになっています。 Go言語がちょっとだけ違うのは、 インターフェイス値というものがあることです。 Goのインターフェイスは、実際には型情報と値情報の2つをもった構造体になっています。 その構造体に、型情報と値情報を動的に代入して扱っているのです。 ポインタとは ポインタは、値のメモリ空間を指し示す番地。 ポインタは、 プログラム実行時にメモリ空間を指し示す数字(番地)しか持ちません。 i1 := 123 fmt.Printf("%p\n", &
![Go言語 インターフェイスとポインタの違い | tyablog.net](https://cdn-ak-scissors.b.st-hatena.com/image/square/0edb6999c7070f95bb1c8973e415492a96c485f1/height=288;version=1;width=512/https%3A%2F%2Fi1.wp.com%2Ftyablog.net%2Fwp-content%2Fuploads%2F2020%2F01%2Fball-407081_640.jpg%3Ffit%3D640%252C325%26ssl%3D1)