Tencent、Meituan、Didi、Baidu、Google、bilibili など、ますます多くの大手インターネット企業が
Go 言語 を使用し始めています。 .
そして、当初 Python
を使用していた ByteDance は、Go
を完全に採用しました。国内外の多くの大手企業が導入を始めていますが、そのメリットは何でしょうか?次に、その利点のいくつかについて説明しましょう。
ps: もちろん、Go-To-Byte
のメンバーの中には、Go 言語を学び、それを使って青少年トレーニング キャンプの大きなプロジェクトを完了したいと考えている人もいます~
利点と言えば、ある面では、他のものにはないいくつかの機能があること、または他のものの面倒な領域を最適化することが主な理由です。比較すると、さらに優れています。次に、Go
の機能のいくつかを見てみましょう。ただし、単純な機能を理解する前に、他のいくつかの一般的な言語を見てみましょう:
これは比較ではなく、誰が良いか悪いということではなく、川を渡るポニーです。人によって異なります~
C 言語
は、1971 年に偉大な神々 Ken Thompson と Dennis Ritchie と Go 言語
の主要な開発者によって発明されました。そのうちの Ken Thompson は、多くの点で C 言語に似ています。 (struct、Printf、および value 演算子など)
C /C
初心者向けの言語としても多く使用されています。これらはすべて マシンコードに直接コンパイルされるため、実行効率が高く、すべて 実行環境を必要としません。 、ユーザーの使用コストを削減します。必要な環境のインストールも必要な多くの言語とは異なり、コストが低くなります。
1 つのエンコードまたはコンパイルは 1 つのプラットフォームにのみ適用されます。オペレーティング システムが異なると、エンコードを変更してからコンパイルする必要がある場合と、そうでない場合があります。直接再コンパイルするだけで十分です。
そして、それは開発者にとって「非常に不親切」でもありますか? ガベージ コレクション (GC) の問題には自分で対処する必要があります。コーディングするときは、ヒープ上のメモリがいつ
free になり、いつ 削除されるのかについても考慮する必要があります。コードはメモリ リークを引き起こし、安全ではありませんか?
Java から
Go を学んだ新人として、私はまだ正式に開発していません。
Javaより開発効率は落ちる気がします(個人の感覚です、気に入らなくても文句は言わないでください)
~?
バイトコード
(.class) に直接コンパイルされており、このコンパイル成果物は、元のエンコーディングとマシンコードの間の中間コードです。この場合、Java
プログラム には特定の実行環境
(JVM) が必要となり、実行効率が低下し、仮想化の損失が発生する可能性があります。ただし、これには
一度コンパイルすれば、複数の場所で (クロスプラットフォーム) 実行できるという利点もあります。また、
には GC も付属しています。 3. JavaScript
JS はインタープリタ言語であり、
コンパイルする必要があり、解釈後に実行できます。したがって、
Js には、特定の実行環境 (ブラウザ エンジン) も必要です。
コードをブラウザに入力した後、ブラウザはコードを解析する必要があるため、
仮想化損失が発生します。
を実行するにはブラウザーのみが必要なので、クロスプラットフォームでもあります。 Go についてもう一度話しましょう前の共通言語の簡単な紹介を読んだ後。
Go は非常に優れていると考えています;
Java 自動ガベージ コレクション メカニズム は非常に優れています。
Go これも優れていると思います。
Js ワンタイム エンコーディングは複数のプラットフォームに適用できます,Go
は非常に快適であり、Go
は当然のことながら、どの言語にも匹敵しない高い同時実行機能を備えています。それでは簡単にまとめてみましょう! 独自の実行環境
Runtime
が付属しており、
に対処する必要はありません。
Go
プログラムの実行環境は驚くべきもので、実際、Java という概念があり、プログラムの実行環境は JVM
で、別途インストールする必要があります。 Java
プログラムの場合、特別な処理を行わないと、JMV
環境を持つマシン上でのみ実行できます。 <p>#Go<code> プログラムには、独自の実行環境が付属しています。
Go プログラムの
Runtime は、プログラムの一部としてバイナリ製品にパッケージ化され、
Runtime は、ユーザー プログラムと一緒に実行されます。つまり、
Runtime は、一連の
.go コードやアセンブリ コードなどです。ユーザーは、 を「直接」呼び出すことができます。ランタイム
の関数 (make( []int, 2, 6) など、この構文は実際にはランタイムで makelice 関数を呼び出すためのものです)
。 Go
プログラムの場合、簡単に言えば、追加のオペレーティング環境をインストールせずに実行できます。 Go
プログラムを開発する必要がある場合を除きます。
このため、Go
プログラムは GC
問題に対処する必要がなく、処理は完全に Runtime
に任せられます。 (とにかく一緒にパッケージ化する必要があります)
。
C/C
とは異なり、複数のプラットフォームの場合は変更が必要な場合があります。コードを作成してコンパイルします。これは、中間コードにコンパイルされ、複数のプラットフォーム上の仮想マシン上で実行される Java
のワンタイム エンコーディングとも異なります。 Go
コーディングは一度だけ行う必要があり、簡単にマシンコードにコンパイルして複数のプラットフォームで実行できます。
#Runtime にはシステム コールをある程度シールドする機能があるため、そのクロスプラットフォーム機能も
Runtime によって提供されることは言及する価値があります。
C 処理する能力同時実行性も弱いわけではありませんが、
C の高いコーディング要件により、経験豊富で専門的な
C プログラマ でなければ、多くの失敗が発生する可能性があります。
Go はそれほど経験が豊富ではないかもしれませんが、それでも高いパフォーマンスで同時実行性の高いプログラムを作成できます。
コルーチン スケジューリングを処理するために
Runtime によって与えられる機能でもあることは言及する価値があります。
Golang 環境をインストールします。その後、次のコマンドを使用できます。多くの機能を開発するための公式標準ライブラリ。たとえば、以下の図に示すように、一般的に使用されるパッケージが多数あります。
##そして
Go 自体には 豊富なツール チェーン
があり、 (例: コードのフォーマット、単体テスト、ベンチマーク テスト、パッケージ管理...)
関連する推奨事項:
Go ビデオ チュートリアル以上が大手インターネット企業が Go 言語を使い始めているのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。