かまたま日記3

プログラミングメイン、たまに日常

Golangのポインタの概念を深める

golangをちょっといじってます。
今まで使ったことがある言語(Java, Ruby, JavaScriptなど)には無かったポインタについて
色々実行してみた結果を張っておきます。

考察

  • あるオブジェクトを変数に入れるとコピー的なものが作成され、元の変数には影響を与えない
    • Javaでいう値渡しみたいなもの?
  • あるオブジェクトのポインタを渡すと、変更可能になるので元の変数には影響を与える
    • Javaでいう参照渡しみたいなもの?
  • Mapのkeyにオブジェクトを使った場合、違うオブジェクトでも同値であれば値が取得できた

デフォルトで値渡し的になっているのは副作用を防ぐという意味で個人的には良いと思いました。