ホームページ  >  記事  >  バックエンド開発  >  ゴーランでできること

ゴーランでできること

青灯夜游
青灯夜游オリジナル
2022-11-22 11:18:566201ブラウズ

Golang は: 1. サーバー プログラミングを実行します。サーバー プログラミング言語として、Go 言語はログの処理、データ パッケージ化、仮想マシンの処理、ファイル システム、分散システム、データベース エージェントなどに非常に適しています。 2. Etcd などの分散システム、データベース エージェント、ミドルウェアなどを開発します。 3. Web アプリケーション、API アプリケーション、ダウンロード アプリケーションなどのネットワーク プログラミングを実行します。Go の組み込み net/http パッケージは、基本的に私たちが通常使用するすべてのネットワーク機能を実装します。 4. データベース操作を実行します。 5. クラウドプラットフォームを開発します。

ゴーランでできること

このチュートリアルの動作環境: Windows10 システム、GO 1.11.2、thinkpad t480 コンピューター。

Go 言語の概要

Go 言語 (または Golang) は 2007 年に誕生し、2009 年に正式にリリースされました。 Go は非常に若い言語であり、その主な目標は「Python などの動的言語の開発速度と、C/C などのコンパイル言語のパフォーマンスと安全性を組み合わせる」ことです。

Go 言語は、プログラミング言語設計のもう 1 つの試みであり、C 系言語を大幅に改良したもので、基盤となるオペレーティング システムにアクセスできるだけでなく、強力なネットワーク プログラミングと同時プログラミングのサポートも提供します。 Go 言語には多くの用途があり、ネットワーク プログラミング、システム プログラミング、同時プログラミング、分散プログラミングに使用できます。

Go 言語の導入は、アプリケーションのパフォーマンスを損なうことなくコードの複雑さを軽減することを目的としており、「シンプルなデプロイメント、優れた同時実行性、優れた言語設計、優れた実行パフォーマンス」という利点を備えています。 IT企業はプロジェクト開発にGo言語を採用しています。

Go 言語は、「C に似た言語」または「21 世紀の C 言語」と呼ばれることもあります。 Go は、同様の式構文、制御フロー構造、基本データ型、呼び出しパラメータ値の転送、ポインタ、その他多くのアイデアを C 言語から継承しており、C 言語が常に重視してきたコンパイルされたマシンコードの実行効率も備えており、既存の Seamless と一貫性があります。オペレーティングシステムへの適応。

Go 言語にはクラスや継承の概念がないため、Java や C と同じようには見えません。しかし、インターフェースの概念を通じてポリモーフィズムを実現します。 Go 言語には明確で理解しやすい軽量型システムがあり、型間に階層はありません。したがって、Go 言語はハイブリッド言語であると言えます。

さらに、Docker、Go-Ethereum、Thraform、Kubernetes など、多くの重要なオープンソース プロジェクトが Go 言語を使用して開発されています。

Go 言語を選んだ理由

Go 言語を選んだ理由はたくさんあると思いますが、Go 言語の特徴と利点については、ここでは、以前のドキュメントで多くのことが紹介されています。しかし、主な理由は次の 2 つの考慮事項に基づいているはずです:

  • 実行パフォーマンス

    結局のところ、C のような実行速度です。一部のサービスでは、パフォーマンスはシステム スループットとアクセス遅延に関連する非常に重要な部分であり、ユーザー エクスペリエンスに影響を及ぼします。Go 言語では、コルーチンを介して並列処理を簡単に実装して、処理効率を最大化し、システム スループット容量を向上させることができます。

  • #開発効率

    GO 言語は使いやすく、コード記述効率が高く、コーディング標準が統一されており、すぐに始めることができます。少ないコード量でフレームワークの標準化を実現し、さまざまな汎用コンポーネントやパブリッククラスライブラリを迅速に構築できるため、開発効率がさらに向上し、特定のシナリオでの機能の量産が実現します。

Go 言語でできること

Go 言語は、 のリリース以来、多くの開発者の注目を集めてきました。バージョン 1.0 がリリースされ、広く使用されている Go 言語のシンプルさ、効率性、同時実行機能により、多くの従来の言語開発者が参加するようになり、その数は増え続けています。

Go 言語の特性と本来の設計意図を考慮すると、

Go 言語はサーバー プログラミング言語として、ログの処理、データ パッケージ化、仮想マシンの処理、ファイル システム、分散処理に非常に適しています。システム、データベース エージェントなど。ネットワーク プログラミングの観点から、Go 言語は Web アプリケーション、API アプリケーション、ダウンロード アプリケーションなどで広く使用されています。##さらに、Go言語はインメモリデータベースやクラウドにも適している プラットフォーム分野では、現在海外の多くのクラウドプラットフォームがGoを使って開発されています。 サーバー プログラミング。これまで C または C を使用してこれらの作業を行っていた場合、ログ処理、データ パッケージ化、仮想マシン処理、ファイルなどの作業には Go を使用するのが非常に適しています。システムなど

    分散システム、データベース エージェント、ミドルウェアなど (Etcd など)。
  • ネットワーク プログラミングは、Web アプリケーション、API アプリケーション、ダウンロード アプリケーションなど、現在最も広く使用されている分野であり、Go に組み込まれている net/http パッケージは、基本的に私たちが通常使用するすべてのネットワーク機能を実装しています。
  • データベース運用
  • クラウド プラットフォームの開発現在、多くの海外クラウド プラットフォームが Go 開発を使用しています
国内のどの企業やプロジェクトでしょうか。海外でも使用しますか? Go 言語

Go のリリース後、多くの企業、特にクラウド コンピューティング企業がインフラストラクチャの再構築に Go を使用し始めました。その多くは Go を使用して直接開発され、最近人気のある Docker も Go を使用して開発されました。 [関連する推奨事項: Go ビデオ チュートリアル ]

Go 言語を使用して開発されたオープン ソース プロジェクトが多数あります。初期の Go 言語オープン ソース プロジェクトでは、Qt、Sqlite などの Go 言語を介した従来のプロジェクトとの C 言語ライブラリ バインディングのみが実装されました。

後の多くのプロジェクトでは、ネイティブ実装に Go 言語が使用されました。このプロセスは比較的異なります。他の言語の方がシンプルであることも、Go 言語を使用した多数のネイティブ開発プロジェクトの出現に貢献しています。

例: Alibaba Middleware、Jumei Youpin、Gaosheng Holdings、Tantan、Douyu Live、Renrenche、AsiaInfo、Udesk、Fangfutong、Lucky Cat、Sany Group、Meifan.com など。一般的な選択は、メッセージ プッシュ、モニタリング、コンテナなど、自社に適した製品システムを選択することです。Golang は特にネットワーク同時実行サービスに適しています。これが強みであるため、これらのプロジェクトでも最初に使用されます。 Go 言語は大規模プロジェクトの開発言語として多くの大企業で使用されており、完全に Go 開発に移行しているところもあります。

ゴーランでできること

##最後に書いてください

もちろん、その技術が実現できるかどうかの鍵は、開発のポイントは3つあります。 (以下の見解は https://www.cnblogs.com/qwangxiao/p/8318894.html から引用しています)

• もっと良いコミュニティはありますか? C、C++、Java、Python、JavaScript のエコシステムはすべて非常に豊富で人気があります。特に、Linux コミュニティなど、多くの営利組織が参加しているコミュニティはさらに人気があります。

• 業界標準はありますか? C、C++、Java にはすべて標準化された組織があります。特に Java は、アーキテクチャの観点から J2EE のようなエンタープライズレベルの標準を開発しました。

• キラー アプリ は 1 つ以上ありますか?言うまでもなく、C、C、Java のキラー アプリケーションは、プログラミング言語としては不得意な PHP であっても、Linux 時代の最初のキラー ソリューションである LAMP のキー テクノロジーとして開発されました。上記の 3 つの点は非常に重要です。新しいテクノロジがこれら 1 つまたは 2 つを満たしているだけで、非常に優れています。さらに、Java などの一部のテクノロジは、3 つの点をすべて満たしています。したがって、Java の開発は非常に優れています。 。

もちろん、上記 3 つの重要な点に加えて、次のような他の影響要因もあります。

  • 学習曲線が低いかどうか、また学習曲線が低いかどうかすぐに始められます。これは非常に重要であり、この時点で C はますます悪化しています。
  • 開発効率を向上させるための優れた開発フレームワークはありますか。例: Java の Spring フレームワーク、C の STL など。
  • 1 つ以上の巨大テクノロジー企業の支援を受けているかどうか。例: IBM と Sun は Java と Linux を支えています...
  • 彼らはソフトウェア開発の問題点を解決しましたか。例: Java は、C と C のメモリ管理の問題を解決します。
これらの定規を使用して Go 言語を測定すると、次のことが明確にわかります:

  • Go 言語は簡単に始めることができます;

  • Go 言語は、同時プログラミングと低レベルのアプリケーション開発効率の問題点を解決します;

  • Go 言語は、世界クラスのテクノロジー企業である Google によって支援されています;

  • Go 言語のキラー アプリケーションは Docker であり、Docker エコシステムは近年完全に爆発的に成長しました。

つまり、Go 言語の将来は無限です。もちろん、Go は多くの C、C、Java プロジェクトを消費する可能性があります。ただし、

Go 言語で使用される主なプロジェクトは、非常に低レベルのプロジェクトでもビジネス層でもなく、中間層のプロジェクトである必要があります。言い換えれば、Go 言語は C や C などの低レベルのプロジェクトを飲み込むことはなく、Java ビジネス層のような高レベルのプロジェクトを飲み込むこともありません。 Go 言語が食い込めるのは、メッセージ キャッシュ ミドルウェア、サービス ディスカバリ、サービス エージェント、制御システム、エージェント、ログ収集などの PaaS 上のプロジェクトでなければなりません。複雑なビジネス シナリオはなく、特別な最下層には到達できません (オペレーティング システムなど)。)、中間プラットフォーム層であるソフトウェア プロジェクトまたはツール。 C と C は下位レベルに移動され、Java は上位ビジネス層に移動されます。

さて、上記の物差しを使って Go 言語のキラー アプリケーションである Docker を測定してみましょう。基本的に同じであることがわかるでしょう。

  • Docker は簡単に始めることができます。

  • Docker は、運用と保守における環境問題とサービス スケジュールの問題を解決します。

  • Docker のエコシステムには大企業が関与しています。グーグルなど。

  • Docker は業界標準の OCI を生成します。

  • Docker のコミュニティとエコシステムでは、Java や Linux と同様の傾向がすでに見られています。

プログラミング関連の知識について詳しくは、

プログラミング ビデオをご覧ください。 !

以上がゴーランでできることの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。