タグ

ブックマーク / www.ymotongpoo.com (3)

  • パッケージ名 (Package names)

    The Go Blogの日語訳を公開しています。修正は https://github.com/ymotongpoo/goblog-ja/ まで。 パッケージ名 Package names By Sameer Ajmani 序文 Goのコードはパッケージの形で整理されています。同一パッケージ内では、どのような識別子(名前)も 参照することが可能ですが、そのパッケージを利用する場合は、パッケージが外部に公開している型、関数、 定数、変数しか参照できません。パッケージの参照元は常に接頭辞としてパッケージ名を付ける必要があります。 例えば、 foo.Bar はインポートしている foo というパッケージ内の Bar という公開された名前を 参照しています。 良いパッケージ名はコードをより良いものにします。パッケージ名は、その中身の文脈を教えてくれ、参照元で 利用しているパッケージの目的と使用方法

    ryskosn
    ryskosn 2016/06/17
  • エラーは値 (Errors are values)

    The Go Blogの日語訳を公開しています。修正は https://github.com/ymotongpoo/goblog-ja/ まで。 エラーは値 Errors are values by Rob Pike Goプログラマ、特にまだGoに不慣れな開発者に共通する議論の話題といえば、エラー処理の方法でしょう。 議論が次のようなコードの連続になることを嘆く結論に至ることがしばしばあります。 if err != nil { return err } 先日、確認できるすべてのオープンソースプロジェクトをスキャンしてみたところ、このスニペットは 先のような開発者が信じているほどではなく、せいぜい1ページに1つか2つ現れる程度であることがわかりました。 それでもなお、いつも次のイディオムをタイプしなければいけないと強く信じているのであれば、 それは何かが間違っていますし、明らかに問題の対象

    ryskosn
    ryskosn 2016/06/17
  • コードのジェネレート (Generating code)

    The Go Blogの日語訳を公開しています。修正は https://github.com/ymotongpoo/goblog-ja/ まで。 コードのジェネレート Generating code by Rob Pike 普遍的な計算の性質、チューリング完全、とは、コンピュータプログラムがコンピュータプログラムを書けるということです。 これは、実際に評価されるべきほどには評価されていない、強力な考え方です。たとえば、これはコンパイラの定義の 大きな部分を占めています。また go test コマンドの動作にも関わってきます。 go test はテスト対象の パッケージをスキャンして、そのパッケージ用のテストハーネスを含んだGoプログラムを書き出して、 それをコンパイルして実行します。現代のコンパイラは非常に速いので、このコストが高そうな一連の処理も 1秒以内に完了できます。 プログラムが

    ryskosn
    ryskosn 2016/06/17
  • 1