{日記}
go言語のやばみ
1.生データ、ポインタの他に暗黙的な間接参照がある(スライス、マップ、インターフェース、チャネル)
2.構造体は値渡しが基本らしい(要出典)
3.関数のレシーバ宣言が値渡しでもポインタを渡せる(勝手に参照先の生データのコピーになってる?)
4.配列の値渡しはコピーを渡すけどスライス(可変長配列)の値渡しは参照を含んだデータ構造のコピーだからアドレスで渡すとポインタのポインタみたいになる
5.でも受け取ってrangeの第二返り値から値を変更しようとするとコピーだから弄れない
qiitaの記事見るとたまに1か4で誤解してそうな人がいる