Goのいいところ悪いところをそれぞれ1個だけ挙げてみる。

いいところ

デプロイが簡単

もはやこれだけで、Goを使う価値があるといっていいほど。
go build からの、生成されたバイナリをサーバへ送って実行。
以上終わり。

これはすごい。。サーバ側は一切の設定、ミドルのインストールがいらない。
nodeやJVMなどの実行環境が不要。すごい。

よく言われる、Goのメリットだけど、本当にすごい。
ビルドしたら実行可能な単一のバイナリが吐きだされる。
プラットフォームごとにビルドするのも簡単。

この点の別のメリットとして、Go自体ののバージョンアップが簡単というのがある。
言語のバージョンが上がっても、ビルド後のバイナリとして正しく動いていれば、サーバ側はなんの変更もいらない。 バイナリを差し替えるだけ。
nodeやJVMだと、バージョンアップは大仕事だけど、Go簡単すぎ。すごい。

悪いところ

型が中途半端

これもよく言われているけど、型システム微妙。
これの最大の弊害は抽象化のしづらさにある。
色んなライブラリを見たつもりだけど、結構出てくるのが
interface{} map[string]interface{}
が引数、戻り値。
型意味ねえ。
Goは静的型付け言語に分類されるが、抽象化しづらいので結局「何でも入る型」(Javaで言うならObject型)を使っちゃって、コンパイラの恩恵が少ない。
ジェネリクスに関する議論 は色々なされているようだけど、どうなるか。

まとめ

悪いところもあるけれど、「デプロイが簡単」「バージョンアップが簡単」のメリットを捨てるほどではない。
という結論に今のところなっている感じ。