タグ

ネタとmattnに関するmohnoのブックマーク (1)

  • Big Sky :: golang では変数の宣言位置が大事

    今日こんなツイートをした。 @mattn_jp よろしければベターな理由をm(_ _)m 名前空間を短くする作法なのはわかるのですがメモリやGCやコンパイラなど、どの辺に優しい感じですか? — Ryuji IWATA (@qt_luigi) April 5, 2017 qt_luigi さんからどうしてかを聞かれたので説明したいと思います。 golang では宣言した位置で初めて自動変数としてメモリが確保され、ゼロクリアされます。 for i := 0; i < b.N; i++ { var foo Foo bar, err := doSomething() if err != nil { continue } foo.v = bar fmt.Fprintln(ioutil.Discard, foo) } なので例えばこの様なコードで doSomething() が err を返した場合、

    Big Sky :: golang では変数の宣言位置が大事
    mohno
    mohno 2017/04/06
    「golang では」ってどういうネタなんだろうと思ったら、Go に限るような話じゃなかった。変数を「使う場所で(直前に)宣言しろ」と言えないの Pascal くらいしか思いつかない。(もちろん他にもあるだろうけど)
  • 1