タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

golangに関するnunulkのブックマーク (1)

  • Big Sky :: Go のポインタの躓きやすい点

    Go は最近のプログラミング言語にしては珍しくポインタを扱えるプログラミング言語。とはいってもC言語よりも簡単で、オブジェクトの初期化やメソッドの定義以外の場所ではおおよそポインタを使っている様には見えない。メソッドやフィールドへのアクセスも . で出来るし Duck Type によりインタフェースを満たしていれば実体であろうとポインタであろうとそれほど意識する必要はない。ところがこの便利さに乗っかってしまうと思わぬ所で足をすくわれてしまう。 package main type foo struct { v int } func (f foo) add(v int) { f.v = v } func main() { var a foo a.add(3) println(a.v) } このコードは 0 が表示される。メソッドを呼び出す際にはレシーバのオブジェクトを得る必要があるが、foo

    Big Sky :: Go のポインタの躓きやすい点
    nunulk
    nunulk 2019/05/16
    "特にC言語でオブジェクト指向をやる様な人達は訓練されているので"
  • 1