
この記事では、Golang の学習と習得のためにインターネットで入手できる最高のリソースをいくつかリストアップします。
すべてのユーザーはさまざまな学習モードを好むため、テキストベースの記事、チュートリアル、ビデオ、および Golang に関する人気のあるコースについて説明します。
Golang は急速に人気が高まっており、Go を探索し始めると、Go に恋をすることでしょう。
開発者ガイド
約 50,000 人の学生がいる、これは基本から Go を学ぶための最高の完全なパックの 1 つです。 このコースは、高度にテストされており、ほとんどの学生に適しています。 一度購入すると、生涯アクセスできます。 完全なビデオ コースから学習したい場合は、まさにこれが必要です。
これ コース 初心者や入門概念を再確認したい人に最適です。 このコースには、追加のコード リソースと課題を含む 9 時間のオンデマンド ビデオがあります。
このコースで取り上げるトピックの一部は次のとおりです。
- 言語のセットアップ、インストール、および基本。
- パッケージとファイル構造
- 変数、関数、配列、およびスライス
- マップ、構造体、およびインターフェイスの詳細なカバレッジ
- Channel と go-routines (並行プログラミング)
ブートキャンプ
300回以上の講義で、 完全なブートキャンプ コース Udemy は、Golang を学ぶのに最適な場所です。 次のようなアプリケーションを構築することで学習します。
- ログ パーサー
- ファイルスキャナー
- スパムマスカー
これに加えて、このコースでは 1000 以上の実践演習を提供しています。
構造体、インターフェイス、チャネルなどの Go の基本概念をカバーすることとは別に、このコースには、跳ねるボールをアニメーション化する方法を学ぶ興味深いプロジェクトがあります。
また、コースの最後には修了証が発行されます。
囲碁のめぐり
私は Golang の公式ドキュメント、ブログ、チュートリアルの大ファンです。 このインタラクティブなコース 無料で、ローカルでのセットアップは必要ありません。 Web サイトを開いて、各トピックの実践的なコードを使用して基礎から学習を開始するだけです。
これは、探索だけを目的としており、セットアップなしで基本を学びたい場合に開始する必要があるコースです。
例を見てみましょう
これは完全なコースではなく、基本を忘れたときに頼りになる場所です。 このサイトでは、紹介テキストと完全な実行例ですべての概念をカバーしています。 このサイトはできる限りシンプルで、学習に重点を置いています。 基本的な紹介記事のいくつかは次のとおりです–
- 変数と定数
- 為に
- If/Else とスイッチ
- 配列とスライス
- マップ
- 範囲
- 機能
必要なほぼすべてのトピックが含まれています。 行う 見てみな 参照用にブックマークします。
Y分でXを学ぶ
基本を簡単に説明したい場合は Y分でXを学ぶ Go だけでなく、ほぼすべてのプログラミング言語の素晴らしいリソースです。 コミュニティ主導であり、1 つのページで多くのトピックをカバーしています。 Go が上手になったら、貢献してください。
これは、1 つの関数での並行プログラミングを説明するチュートリアルのコード スニペットです。
// We'll use inc to increment some numbers concurrently. func learnConcurrency() { // Same make function used earlier to make a slice. Make allocates and // initializes slices, maps, and channels. c := make(chan int) // Start three concurrent goroutines. Numbers will be incremented // concurrently, perhaps in parallel if the machine is capable and // properly configured. All three send to the same channel. go inc(0, c) // go is a statement that starts a new goroutine. go inc(10, c) go inc(-805, c) // Read three results from the channel and print them out. // There is no telling in what order the results will arrive! fmt.Println(<-c, <-c, <-c) // channel on right, <- is "receive" operator. cs := make(chan string) // Another channel, this one handles strings. ccs := make(chan chan string) // A channel of string channels. go func() { c <- 84 }() // Start a new goroutine just to send a value. go func() { cs <- "wordy" }() // Again, for cs this time. // Select has syntax like a switch statement but each case involves // a channel operation. It selects a case at random out of the cases // that are ready to communicate. select { case i := <-c: // The value received can be assigned to a variable, fmt.Printf("it's a %T", i) case <-cs: // or the value received can be discarded. fmt.Println("it's a string") case <-ccs: // Empty channel, not ready for communication. fmt.Println("didn't happen.") } // At this point a value was taken from either c or cs. One of the two // goroutines started above has completed, the other will remain blocked. learnWebProgramming() // Go does it. You want to do it too. }
非常に簡潔で的を得ているので、Golang の特定のトピックの概要を簡単に知りたい場合は、これを試してみてください。
ゴタイム
あなたがオーディオ学習のファンなら、 ゴタイム 良いポッドキャストです。 多くの素晴らしい開発者が参加し、実世界の知識と、会社で Go をどのように使用しているかを共有しています。 また、著名人がコミュニティで学んだことを共有する GopherCon (golang カンファレンス) もチェックしてください。
これらのコミュニティでは、Go に関する最新の傾向と改善について議論しています。
ここに人気のポッドキャストをいくつか追加します–
書籍
とても良い本がたくさんあります。 ここにいくつかのお気に入りを追加します–
ブログ
Golang に関するかなり良いブログがいくつかあります。 medium に関する記事もたくさんあり、探索することができます。 ここで、役立つと思われるいくつかを共有します–
ユーチューブ
ファンシービデオベースの学習?
確かに、freeCodeCamp による初心者向けのこの Golang チュートリアルをチェックしてください。
結論
初心者で Golang コミュニティに参加する場合は、上記のコースのいずれかを修了することをお勧めします。 また、学んだことを世界と共有し、Go をさらに良くするために貢献してください。 Go を使った旅に役立つ何かを学んだことを願っています。