Skip to content

あとがき

もし構文編と进阶編の両方を本当に注意深く読み、実際にコードを書いてみたなら、Go の構文はそれほど難しくなく、機能もそれほど多くないことがわかるでしょう。経験豊富な開発者なら数日で習得できるはずです。Go は完全にエンジニアリング向けの言語であり、これは今後のコーディングで徐々に実感できるでしょう。もし学習後に使いどころがわからず、もっと深く学びたいと感じるなら、以下のいくつかの学習ルートとサンプルプロジェクトを参考として提案します。

Web 開発

Web 開発は Go 言語で非常に一般的なユースケースです。以下のオープンソース Web フレームワークを試してみてください。

マイクロサービス開発を行いたい場合は、以下のオープンソースフレームワークをお勧めします。

データベースとのやり取りが必要な場合は、以下のライブラリをお勧めします。

以下のプロジェクトを参考にして学習できます。

IM 通信

Go を使用して IM 開発を行う場合、以下のオープンソースプロジェクトをお勧めします。

ネットワークプログラミング

Go はネットワークプログラミングでも非常に多く使用されています。以下に参考となるオープンソースプロジェクトを示します。

ゲームサーバー

ゲームサーバーの分野では、越来越多的企業が Go 方向に転換しています。

データベース開発

データベース開発には一定の技術的基盤が必要です。Go 言語ベースのデータベースやエンジンは少なくありません。それらのソースコードを読むだけでもかなりの時間がかかります。

  • badger、高速 KV データベース
  • dgraph、グラフデータベース
  • cayley、グラフデータベース
  • etcd、分散キーバリューデータベース
  • rosedb、キーバリューデータベース、入門に最適
  • nutsdb、キーバリューデータベース
  • prometheus、時系列データベース
  • tidb、分散リレーショナルデータベース
  • cockroach、分散 SQL データベース
  • rqlite、SQLite ベースの分散データベース

コマンドラインツール

Go はコマンドライン CLI ツール開発に非常に適しています。以下にいくつかのコマンドライン開発フレームワークやライブラリをお勧めします。

  • flag、flag 標準ライブラリ
  • cobra、cobra を使用した CLI 開発を強くお勧めします。Docker や K8S など多くの有名プロジェクトが cobra をベースにしています
  • go-pretty、コマンドラインで見やすい出力を行うために使用
  • cli、軽量なコマンドラインフレームワーク
  • kingpin、強力で柔軟なコマンドライン解析ライブラリ

cobra は非常に一般的に使用されており、cobra をベースにしたコマンドライン開発プロジェクトはたくさんあります。以下は参考プロジェクトの一部です。

上記は比較的一般的な分野を挙げただけですが、Go がサーバーサイド分野で広く使用されていることがわかります。クライアントサイドは少ないですが、実際には Go は他の分野でも多くのアプリケーションがあります。例えば webrtc、ブロックチェーン、オブジェクトストレージ、クラウドコンピューティングなどです。興味がある場合は Github で自行で調べてみてください。

最後に、Go 言語の実装詳細をさらに深く理解したい場合、例えば slicemap の底辺データ構造、ゴルーチンスケジューラの実装、GC ガベージコレクションのプロセスなどについては、実装原理 章で詳細をご覧ください。

Golang学习网由www.golangdev.cn整理维护