Go 言語は低レベル言語ではありません。基盤となる言語は低水準言語とも呼ばれ、実装効率が低く、実行効率が高く、ハードウェアの制御性が強く、ターゲットコードが小さく、保守性が悪く、移植性が低い言語を指します。 Go 言語は高級プログラミング言語です。大規模システムの開発プロセスにおける実際的な問題を解決するように設計されており、同時実行性、統一された仕様、シンプルさ、優雅さ、強力なパフォーマンスをサポートしています。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
Go 言語は低レベル言語ではありません。 Go 言語は、2009 年に Google によってオープンソース化された 高水準プログラミング言語 です。大規模システムの開発プロセスにおける実際的な問題を解決するように設計されており、同時実行性と統一標準をサポートしています。シンプルでエレガント、強力なパフォーマンスを備えたこの言語は、多くの Go 言語伝道者から「クラウド コンピューティング時代の C 言語」と称賛されています。
Go 言語は C に似た高級言語であり、C ポインター プログラミングの敷居を下げますが、プログラミングの落とし穴もいくつか追加する可能性があり、Go 言語を使いこなすベテランでも誤って踏んでしまうことがあります。ピット。したがって注意が必要です。 Go言語の開発の歴史とGo言語の特徴についてお話します。
ガレージから生まれた多くの偉大な企業と同様、Go 言語の名前も自動車に関連しています。以上がGo言語の名前の由来です。個人的に「Go」という名前がとても気に入っていて、思いつきのようですが、とても緻密です。 Google の純血を継承しており、シンプルでエレガントな言語の特徴を体現しています。 Go でコルーチンを開くためのキーワードは go です。
Google エンジニアの 20% の時間
それ以来、Robert、Rob、Ken は 2009 年まで Google 内で研究開発を行ってきましたが、そのとき Go は正式にオープンソースとなりました。 Go プロジェクト チームは、言語が正式にオープンソースになった日である 2009 年 11 月 10 日を公式の誕生日とみなしています。ソース コードは当初
#C 言語: Go 言語は、場合によっては「C 風の言語」または「21 世紀の C 言語」と呼ばれます。 Go は、同様の式構文、制御フロー構造、基本データ型、呼び出しパラメーター値の転送、ポインター、その他多くのアイデアを C 言語 から継承しています。また、C 言語が常に関心を寄せてきた コンパイル済みバージョンも継承しています。マシンコードの実行効率と既存のオペレーティング システムへのシームレスな適応。
CSP: Go 言語のもう 1 つの祖先であり、Go 言語の重要な機能をもたらします他の言語とは区別されます。これは、Tony Hoare によって出版されたあまり知られていない著作に触発されました。外の世界に知られている並行性研究に関する基本文献は、Communicating Sequential Process (CSP と略称) です。 CSP では、プログラムは状態を共有せずに並列実行される一連のプロセスであり、通信と制御の同期に パイプライン を使用します。ただし、Tony Hoare の CSP は、同時実行の基本概念を説明するために使用される記述言語にすぎず、実行可能プログラムを作成できる汎用プログラミング言語ではありません。 Go 言語はパイプを使用してコルーチンで通信します。
重いアプリケーション
Go 言語の重いアプリケーションのいくつかを次に示します:
Go の利点
プログラマーの声: 現実の世界で必要な場合は、数日で実稼働システムのプロトタイプを作成、テストし、プロトタイプを作成できます。 CPU とメモリのオーバーヘッドをほとんど抑えながら、オリジナルの 1 秒あたり 5 倍のリクエストを処理できます。それができるのはGo言語だけだと思います。 Go 言語には次の利点があります:
個別のバイナリ リリース: Go プロジェクトのコンパイルにより、静的な実行可能ファイルが生成されます。このファイルは、他の依存関係なしで独立して実行できます。このアプローチは、クラウドネイティブのコンテナ環境に特に適しています。
クロスコンパイル: 他のプラットフォームで実行される任意のオペレーティング システムでバイナリをコンパイルします。たとえば、Mac システムでは、Linux および Windows で実行できるバイナリ ファイルをコンパイルできます。
ガベージ コレクション: Go 言語はガベージ コレクションをサポートしています。それに比べて、C や Rust などでは、開発者が自分自身を制御する必要があります。
実行パフォーマンス: Go は非常に高速です。性能はCに近いです。 Java、Python、Node よりもはるかに高い。
開発効率: Go 言語は、静的言語の実行パフォーマンスと動的言語の開発効率の両方を備えています。
シンプルさと効率性: Go 言語の設計哲学には、シンプルさと効率性が含まれます。典型的な反例は、複雑で肥大化した Java 言語です。