自分は普段はChromeのブックマークを使ってよく見返す記事を保存しています。Goを一年間書いてきてブックマークを整理したのですが、せっかくなのでお世話になったブックマーク記事を晒します。
Blog & Serial
The Go Blog
Goの公式ブログ。深いところまでしっかり書かれているので、調べたいトピックはまずはここで調べたい。
https://blog.golang.org/
Practical Go
GoのcontributorであるDave Cheneyさんのブログです。Goで開発&運用する上でのアドバイスが書かれており、入門記事だけでは得られないノウハウがふんだんにまとめられています。
https://dave.cheney.net/practical-go
Goならわかるシステムプログラミング
@shibukawaさんの連載です。Goで低レイヤーを学んでいきます。根底の仕組みがガッツリ学べます。あまりに良すぎて僕は書籍で購入してます。書籍の方は色々加筆されているので皆さんも書籍で書いましょう。
https://ascii.jp/elem/000/001/235/1235262/
A Journey With Go
Goに関する面白いトピックが多いです。Goの内部の話などGo初心者が中級者になるための記事が多い印象です。
https://medium.com/a-journey-with-go
Tips
Go CodeReviewComments 日本語翻訳 #golang
Goを書く上で気をつけるべき&意識すべきポイントが網羅された「Go CodeReviewComments」の日本語訳記事
https://qiita.com/knsh14/items/8b73b31822c109d4c497
High Performance Go Workshop
Goアプリケーションのパフォーマンスに関するトピックほぼ全てが網羅された記事。ベンチマーク、プロファイリングはもちろん、コンパイラ最適化、メモリやガベージコレクタについてなどについて書かれている。はっきり言って最高。
https://dave.cheney.net/high-performance-go-workshop/gopherchina-2019.html
Profiling Go Programs
Goの公式ブログによるプロファイリングツールpprofの使い方です。使い方忘れたらよくここにきます。
https://blog.golang.org/profiling-go-programs
SliceTricks
Goの公式WikiのSlice操作の実装パターン集です。いい感じのSlice操作実装を忘れた時にめちゃ見返す。
https://github.com/golang/go/wiki/SliceTricks
インタフェースの実装パターン #golang
インターフェースの実装パターンがコード付きで丁寧に解説されています。
この記事を書いている @tenntenn さんの記事はどれもGo初心者にとって知っておいたほうがいい事ばかりなので他の記事も読んでみることをオススメします。
https://qiita.com/tenntenn/items/eac962a49c56b2b15ee8
Architecture
struct に依存しない処理は function に切り出すのか、method に切り出すのか
関数にするかメソッドにするかはGopherたちが悩む部分です。迷ったら読み返します。
https://www.pospome.work/entry/2017/01/16/233351
Golang Receiver vs Function Argument
こちらも処理を関数にするかメソッドにするか迷った時に読み返します。
https://grisha.org/blog/2016/09/22/golang-receiver-vs-function/
Functional Option Pattern
構造体の初期化時にオプション引数を与えるためのデザインパターンである「Functional Option Pattern」の日本語解説です。
https://blog.web-apps.tech/go-functional-option-pattern/
Analysis
GoのためのGo
Goで静的解析する際の基本が体系的にまとまっています。
https://motemen.github.io/go-for-go-book/
Handson
Write a Kubernetes-ready service from zero step-by-step
Goで作ったAPIをKubernetesで動かす記事ですが、Kubernetes動かすまでにGoによるAPI開発の基本的なポイントがしっかり抑えられていてGoを触り始めた頃にすごく勉強になったハンズオンです。
https://blog.gopheracademy.com/advent-2017/kubernetes-ready-service/
Test
Goのtestを理解する in 2018 #go
テストの書き方でここってどうやって書いたっけ?となったら必ず訪れるブログ。ほぼテストに関する全てが書いてある。
https://budougumi0617.github.io/2018/08/19/go-testing2018/
Go Fridayこぼれ話:非公開(unexported)な機能を使ったテスト #golang
非公開の機能をテストしたい時のパターンが網羅されている。
https://tech.mercari.com/entry/2018/08/08/080000
Packages
Awesome Go : 素晴らしい Go のフレームワーク・ライブラリ・ソフトウェアの数々
こんなパッケージないかな??って時に開く記事。
https://qiita.com/hatai/items/f31914f37dc6c53b2bce
Playground
GoDoc Playground
GoDocのPlaygroundです。GoDocを書く際にコメントアウトで記載していきますがそれをリアルタイムで確認できます。
https://bradleyjkemp.dev/godoc-playground/
Editor
vim-go チュートリアル
vim-goのチュートリアルです。GoをVimで操りたくなったらまずここ。
https://github.com/hnakamur/vim-go-tutorial-ja
vim-goを使うなら使用したいコマンド集と設定
VimでGoを触るためのノウハウが体系的にまとまっています。
https://qiita.com/gorilla0513/items/a027885d03af0d6d5863
Detects Issue
Go Report Card
GoのリポジトリのURLを入れるだけでgolintやgofmtでコードをチェックしたりmisspellを見つけたりしてくれます。最終的にREADME.mdに貼れる上記のようなバッジがすぐに作れます。
GolangCI
こちらもGoのリポジトリに対して様々な問題を指摘してくれます。structcheck、errcheck、gosimpleなどのツールで細かい問題点も指摘してくれます。こちらもバッジが作れます。
2020年4月にサービスが終了するようです。。
詳しくは作者のブログをご覧ください
https://medium.com/golangci/golangci-com-is-closing-d1fc1bd30e0e