ブックマーク / tyablog.net (1)

  • Go言語 インターフェイスとポインタの違い | tyablog.net

    Go言語ではインターフェイスとポインタの違いについて ちゃんと理解しておく必要があります。 Go言語にはインターフェイス値がある C/C++を勉強した人にとってはポインタは理解できていると思いますが、Go言語にはインターフェイスというものも登場します。 C++でももちろん、interfaceというのは出てきますが、 C++の印象とはちょっと違ったものになっています。 Go言語がちょっとだけ違うのは、 インターフェイス値というものがあることです。 Goのインターフェイスは、実際には型情報と値情報の2つをもった構造体になっています。 その構造体に、型情報と値情報を動的に代入して扱っているのです。 ポインタとは ポインタは、値のメモリ空間を指し示す番地。 ポインタは、 プログラム実行時にメモリ空間を指し示す数字(番地)しか持ちません。 i1 := 123 fmt.Printf("%p\n", &

    Go言語 インターフェイスとポインタの違い | tyablog.net
  • 1