タグ

goとライブラリに関するkenzy_nのブックマーク (3)

  • Goの苦手な領域

    Goの利点を使って実装するコツやノウハウを書くことがコミュニティにとってプラスになると思っているのでそれに専念したいという考えはありますが、Goの苦手な領域にGoを採用してしまってヘイトを溜め込んでしまう事例を見かけたりします。 こういう悲劇の起こる可能性を少しでも減らせたらという思いで、Goの現状の苦手な領域について解説しようと思います。Goを学び始めにこれらの領域に手を出すのは避けましょう。 Cgo is not Go GoCGO連携でC/C++資産を利用することができますが、メモリアロケータの異なる処理系を繋ぐ関係上、お互いに呼び合う際のパラメータや戻り値はほとんどのケースでコピーが必要になります(Cの型でメモリ確保しCの型のまま受け渡しする場合はOK)。なので高頻度に呼び合うような用途には不向きであるというのはSWIGなどのような複数の処理系を連携させる仕組みと同様です。 また、

    Goの苦手な領域
  • Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ

    他の言語になれた人が、初めてGoを書いた時にわかりにくいな、と思った部分はどういうところがあるのか、難しいポイントはどこか、という情報を自分の経験や、会社の内外の人に聞いたりしてまとめてみました。まだまだたくさんあるのですが、多すぎるのでまずはこんなところで。コンテナで開発することがこれからますます増えていくと思われますし、その時にコンテナとの相性が抜群なGoをこれから使い始める人もどんどん増えていくと思います。 Goは特に言語のコアをシンプルに、何かを実現するときはそのシンプルな機能を組み合わせて実現しよう、というコンセプトです。つまり、他の言語で実現したいこと・できていることに比べて、Goは組み合わせ(イディオム)でカバーする領域が広くなります。そのあたりのとっかかりになる情報を提供することが、これからGoを触る人にとってつまずきを減らすことになると思います。 Go Conferenc

    Goを学ぶときにつまずきやすいポイントFAQ | フューチャー技術ブログ
  • pkg/errors はもう外すことができないライブラリ - 理系学生日記

    ここ 2 ヶ月くらいずっと golang でバックエンドを書いています。 その中で、絶対に外せないなと思っているものの1つが pkg/errors です。 ぼくがこのライブラリを知ったのは、以下の記事でした。 Golangのエラー処理とpkg/errors Don’t just check errors, handle them gracefully 当時は Golang とは無縁の生活を送っていたので、まさか自分が使うことになるとは思いませんでしたが…。 問題 Golang におけるエラーハンドリングの問題 コンテキスト情報 pkg/errors が解決するもの エラーを取り出す 問題 Golang におけるエラーハンドリングの問題 Golang においては、以下のようなイディオムが多数登場してきます。 if err != nil { return err } 処理でエラーが発生している

    pkg/errors はもう外すことができないライブラリ - 理系学生日記
  • 1