ホームページ >よくある問題 >ゴーランって何をするの?

ゴーランって何をするの?

zbt
zbtオリジナル
2023-06-13 11:44:172330ブラウズ

Golang は非常に若い言語であり、その主な目標は、Python などの動的言語の開発速度と、C/C などのコンパイル言語のパフォーマンスとセキュリティを組み合わせることです。 Go 言語は、サーバー プログラミング言語として、ログの処理、データ パッケージ化、仮想マシン処理、ファイル システム、分散システム、データベース エージェントなどに非常に適しています。 Go 言語は、Web アプリケーション、API アプリケーション、ダウンロード アプリケーションなどで広く使用されています。また、Go言語はインメモリデータベースやクラウドプラットフォームの分野にも適しており、現在海外の多くのクラウドプラットフォームがGoを用いて開発されています。

ゴーランって何をするの?

このチュートリアルの動作環境: Windows10 システム、golang1.20.1 バージョン、DELL G3 コンピューター。

golang とは何ですか?

Go 言語の概要

Go 言語 (または Golang) は 2007 年に誕生し、2009 年に正式にリリースされました。 Go は非常に若い言語であり、その主な目標は「Python と 動的言語の開発速度と、C/C などのコンパイル言語のパフォーマンスとセキュリティ。

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

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

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

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 言語が Web 上で広く使用されています。 Go言語はアプリケーション、APIアプリケーション、ダウンロードアプリケーションなどのほか、インメモリデータベースやクラウドプラットフォームの分野にも適しており、現在海外の多くのクラウドプラットフォームが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 のようなエンタープライズレベルの標準を開発しました。

• キラーアプリはありますか?言うまでもなく、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 言語は最下層を C や C のレベルまで飲み込むことはなく、また、次のような高級言語を飲み込むこともありません。 Java ビジネス層プロジェクト。 Go言語が食い込めるものはPaaSに違いない 一部のメッセージ キャッシュ ミドルウェア、サービス ディスカバリ、サービス エージェント、制御システム、エージェント、ログ収集などのインターネット上のプロジェクトには、複雑なビジネス プロセスはありません。 ビジネス シナリオでは、特別な最下層 (オペレーティング システムなど) の中間プラットフォーム層にあるソフトウェア プロジェクトやツールにはアクセスできません。 C と C は下位レベルに移動され、Java は上位ビジネス層に移動されます。

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

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

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

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

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

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

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

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