ホームページ >バックエンド開発 >Golang >golangとgo言語の間に違いはありますか?

golangとgo言語の間に違いはありますか?

青灯夜游
青灯夜游オリジナル
2020-04-17 16:48:4015251ブラウズ

golang と go language の間に違いはありません。golang は go language の別名です。 Go (Golang とも呼ばれます) は、Google によって開発された、静的に強く型付けされ、コンパイルされ、ガベージ コレクション機能を備えた同時プログラミング言語です。

golangとgo言語の間に違いはありますか?

説明

Go の構文は C 言語に似ていますが、変数の宣言が異なります。 Go はガベージ コレクションをサポートしています。 Go の並列モデルは Tony Hall の Communicating Sequential Process (CSP) に基づいており、同様のモデルを採用する言語には Occam や Limbo などもありますが、チャネル送信などの Pi 演算の機能も備えています。プラグインのサポートはバージョン 1.8 でオープンされ、一部の関数を Go から動的にロードできるようになりました。

C と比較すると、Go には列挙、例外処理、継承、ジェネリックス、アサーション、仮想関数などの関数が含まれていませんが、スライス タイプ、同時実行性、パイプ、ガベージ コレクション、言語レベルが追加されています。インターフェイスなどの機能のサポート。 Go 2.0 バージョンはジェネリックスをサポートしますが、アサーションの存在に対して否定的な態度をとっており、型継承は提供していないとも主張しています。

Java とは異なり、Go には文字列型と同様に、連想配列 (ハッシュ テーブル (Hash) または辞書 (Dictionaries) とも呼ばれます) が組み込まれています。

golang の特徴

  • 簡潔な構文

    Go 言語はシンプルで習得が容易で、学習曲線が緩やかです。 C/C プログラミングは必要ありません。多くの場合、言語は 2 ~ 3 年の学習が必要です。 Go言語は「インターネット時代のC言語」と呼ばれています。 Go 言語のスタイルは C 言語に似ています。 C言語をベースに構文が大幅に簡略化され、不要な式括弧が削除されており、ループ内の表現方法はforの1つだけであり、数値やキー値など様々なトラバースを実現できます。

  • 統一コード スタイル

    Go 言語には、一連の書式設定ツール (go fmt) が用意されています。一部の Go 言語開発環境またはエディターは、保存時にフォーマット ツールを使用してコードの形式を変更し、さまざまな開発者によって送信されたコードが確実に統一された形式になるようにします。

  • 優れた実行パフォーマンス

    Go 言語はコンパイル言語であり、作成したコードはサーバーで実行できるバイナリ実行可能ファイルに直接コンパイルされます。

  • 高い開発効率

    Go 言語はコンパイル言語でありながら、ガベージ コレクション機構が組み込まれているため、開発者の精神的負担が軽減され、開発効率が向上します。 PythonやPHPなどのインタプリタ型言語と同等の開発効率を誇ります。開発効率と実行効率の完璧な組み合わせを実現します。

  • 同時実行性をサポートするために誕生

    Go は、マルチコア プロセッサがすでに市場に出ていた 2009 年にリリースされました。 Go 言語には、マルチコア同時実行におけるネイティブ設計の利点があります。Go 言語は、サードパーティのライブラリ、開発者のプログラミング スキル、開発経験を必要とせずに、同時実行をボトムアップでネイティブにサポートします。

書き方

Goにはいくつかの規定があり、これらは必須であり、以下の規定に当てはまらない場合にコンパイルが行われます。 。

  1. プログラムの各行の後にセミコロン (;) を記述する必要はありません。

  2. 中括弧 ({) を新しい行に入れることはできません。

  3. if 判定と for ループは括弧で囲む必要はありません。

Go には組み込みの gofmt ツールもあり、コード内の余分な空白を自動的に整理し、変数名を整列し、整列されたスペースをタブに変換できます。

コンパイラ

現在、Go コンパイラ ブランチは 2 つあり、公式コンパイラ gc と gccgo です。公式コンパイラは当初 C で書かれ、その後ブートストラップを実現するために Go で書き直されました。 Gccgo は、標準の GCC をバックエンドとして使用する Go コンパイラーです。

公式コンパイラはクロスプラットフォーム コンパイルをサポートしています (ただし、CGO はサポートしていません)。これにより、ソース コードをターゲット システムおよびアーキテクチャ上で実行できるバイナリにコンパイルできます。

推奨学習: Golang チュートリアル

以上がgolangとgo言語の間に違いはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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