私はしばらく JavaScript を深く掘り下げていましたが、最終的には「まあ」の段階に達しました。何か新鮮なものを求めてうずうずしている場所を知っていますか?そこで私は、Golang を試してみてはどうだろうかと考えました。それで、私はここでこの新しい言語を学んでいます。その過程を皆さんと共有できることを楽しみにしています。 ?
基本的なことから始めましょう: なぜ Go を気にする必要があるのですか? 作成者はなぜ別のプログラミング言語の必要性を感じたのでしょうか?そして、その範囲をめぐる話題は何でしょうか?すべてを開梱してみましょう。
Go はなぜ設計されたのでしょうか?
Go (または、気の利いた方は Golang) は、2007 年に Google の Robert Griesemer、Rob Pike、Ken Thompson によって考案されました。それでは、何が Google に「そうだ、全く新しい言語が必要だ」と言わせたのでしょうか。 ”?
当時、Google の開発者は、大規模でスケーラブルなシステムを構築する際に、かなりイライラする課題に取り組んでいました。
彼らを悩ませていたのは次のとおりです:
- 複雑さ: C と Java は有力な言語でしたが、あまりにも複雑になりすぎていました。クリーンで効率的、スケーラブルなコードを書くのは、タコと格闘しているような気分でした。
- 同時実行性: CPU にコアが追加されると、それらのコアを実際に効率的に使用できる同時実行プログラムを作成することは、ほとんどの既存の言語にとって悪夢でした。
- コンパイル速度: 開発者は、C コードがコンパイルされるのを親指をこねくり回して待っていました。誰もそんな時間はないでしょう!
これらの課題に対処するために、Go の作成者は次のような言語を設計することを目指しました。
彼らのビジョンは?次の言語を作成します:
- シンプル: すっきりしていてミニマルなので、500 ページのマニュアルがなくても簡単に学習して使用できます。
- 同時実行: プロのように同時実行を処理する組み込みツールにより、マルチコア プログラムの作成がより速く、より安全になります。
- 高速: コードのビルドを待つ時間が永遠のように感じられないため、コンパイルが迅速に行われます。
Golang は何を提供するのでしょうか?
Golang (略して Go) には、スケーラブルで同時実行の効率的なシステムを構築するためのスーパースターとなる機能が満載されています。 Go の何が素晴らしいのかを簡単に見てみましょう:
言語機能
-
シンプルさ: Go のクリーンでミニマルな構文は、新鮮な空気の息吹のようなものです。プログラミングが初めての方でも、非常に簡単に習得できます。
-
静的型付け: 実行時に厄介な事態は発生しません。 Go はコンパイル時にエラーを検出するため、コードは期待どおりに動作します。
-
コンパイル言語: Go はマシンコードにコンパイルされます。つまり、非常に高速 のように高速に実行されます。
-
ガベージ コレクション: 手動によるメモリ管理に別れを告げます。 Go の組み込みガベージ コレクターが自動的に処理します。
同時実行機能
-
ゴルーチン: ゴルーチンは、オーバーヘッドがはるかに少ない軽量のスレッドと考えてください。これらを使用すると、同時実行プログラムの作成が簡単になります。
-
チャンネル: ゴルーチン同士が通信する必要がありますか?チャネルは、チャネル間のコミュニケーションを効率的かつ安全にするために役立ちます。
-
ミューテックスとロック: 共有リソースへのアクセスを制御する必要がある場合、Go のミューテックスとロックが役に立ちます。
これらの機能については、すぐに詳しく説明します。正直に言って、その魅力に驚いています。乞うご期待。 ?
Golang はどのようなテクノロジーで使用されていますか?
Golang がどこで輝くのか考えたことはありますか?ネタバレ注意:どこにでもあります!クラウド コンピューティングから Web 開発に至るまで、Go はテクノロジーの最もエキサイティングな分野のいくつかにニッチ市場を切り開いてきました。どこで話題になっているかチェックしてみましょう:
クラウドとインフラストラクチャ
-
Google Cloud: Go は Google Cloud 全体で使用され、Google Cloud Storage、Google Cloud Datastore、Google Cloud Pub/Sub などのツールを強化します。
-
アマゾン ウェブ サービス (AWS): AWS もその勢いに乗っています。 Amazon S3、DynamoDB、Lambda などのサービスには、内部で Go が組み込まれています。
-
Microsoft Azure: Azure も Go を愛していて、Azure Storage、Cosmos DB、Functions で Go を使用しています。
ネットワーキングと分散システム
-
Kubernetes: はい、伝説的なコンテナ オーケストレーション ツールは Go で書かれています。
-
Docker: コンテナ化のバックボーン? Go は、そのコアコンポーネントで大きな役割を果たしています。
ウェブ開発
-
Netflix: Go は、API ゲートウェイやロード バランサーなど、Netflix の Web サービスの一部を強化します。
-
Dropbox: ファイルのアップロードからダウンロードまで、Go は Dropbox を高速かつ効率的に保つのに役立ちます。
DevOps と自動化
-
Terraform: この人気のあるコードとしてのインフラストラクチャ ツールは Go で作られたものです。
-
Ansible: Ansible は主に Python ですが、コンポーネントの一部に Go を利用しています。
-
Prometheus: あなたもおそらく愛用している監視ツール? Goで書かれています。
ご覧のとおり、Go の多用途性により、Go はテクノロジーの強力な存在となっています。どれだけの領域がカバーされるのかを見るのはとても楽しみです。そして、それはまだ始まったばかりです。
以上がなぜ Golang を学ぶのか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。