Go
初学者向けの情報
文法や概念がまったくわからない、いちから学びたいという人は
解説を読みながらブラウザでコードを書いて答え合わせができる
Tour of Goをやってローカル環境の好きなエディタで書く環境を整えたくなったら読む
チュートリアルをやってアプリケーションの読み書きをしてみたい、となったら買って読んでみてもいいかも
GoLand: JetBrainsのIDEが好きならよさそう 自分はこれで書いている
コードリーディングに向いていそうなライブラリやアプリケーション
ghq get aereal/dotfiles を実行すると ~/ghq/github.com/aereal/dotfiles にリポジトリをcloneしてくれたりする便利CLI
Goのアプリケーションとしては以下が興味深い
CLIアプリケーションの書き方
Gitをはじめとして複数のVCSを抽象化する実装、interfaceの使い方 クロスコンパイルをどう頑張っているか
普段使いにも良いので、使う→挙動が気になって読む→機能がほしくなってforkしてみる、という流れが期待できるのでおすすめ
標準パッケージ
ちょっと前のバージョンで error 型まわりにてこ入れされ、それに伴いあれこれ便利になった
errors.As() errors.Is() あたりを読んでみるとよさそう
バッファ付きの書き込みやパイプなどが抽象化・一般化された標準パッケージ
io.Reader などのinterfaceを満たしていれば、利用者は中身がファイルなのか・ネットワーク通信なのか・メモリ上の文字列なのか、などを意識せず統一された操作ができる
io.Pipe() とか歯応えあるけど実装としておもしろいのでおすすめ
HTTPクライアント・サーバ実装を提供する標準パッケージ
WebアプリケーションエンジニアとしてGoを触る限り無縁ではいられない
ドキュメントを読んで http.RoundTripper と http.Transport の関係を把握しておくと吉
Examplesにある例はどれもおもしろいのでおすすめ
wiki
Error types end in "Error" and error variables start with "Err" or "err":