ホームページ >バックエンド開発 >Golang >golang と c の違いは何ですか?

golang と c の違いは何ですか?

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

golang と c の違いは何ですか?

golang と C 言語の違い

1. 表面の違い - 末尾のセミコロンline

C、C、C#、Java を使用したプログラマーは、Go コードに行末のセミコロン (";") が行として含まれていないことに驚くでしょう。ターミネーター。この問題を説明する前に、重要な事実を宣言しておきます。正式な Go 構文では、英語のセミコロン (";") が終了識別子として使用されます。

行末にセミコロンを追加する必要がない理由は、Go の設計が次の 2 つの考慮事項に基づいているためです。簡単なルールを使用してステートメント行の終わりを決定できます。したがって、行末のセミコロンは省略できます。
  • 行末のセミコロンを省略すると、コードを標準化したほうがよいでしょう。
  • Golang のコンパイル時、コード行の最後のセグメント (コメント行以外) が次の 5 つの状況のいずれかである場合、行末にセミコロンが自動的に挿入されます。

行の終わりは 3 つの右括弧のいずれかです:)、]、};
  1. 行の終わりは増分ですまたはデクリメント演算子 (, – );
  2. 行の終わりは、次のタイプの特定の値です: ブール値、整数、浮動小数点数、複素数、Unicode コード ポイントまたは文字列リテラル;
  3. 行の末尾は識別子です: 型名、変数名、定数名、ジャンプラベル、パッケージ名、パッケージ紹介名を含みます(キーワードを除く);
  4. 行 最後は、break、 continue、fallthrough、return を含む 4 つのジャンプ キーワードです (他のキーワードを除く)。
  5. 2. 定数変数の比較

C 言語では定数と変数の形式が定義されています

数据类型 变量名称 = 值;
const 数据类型 常量名称 = 值;

Go 言語では定数と変数が定義されています形式

次の標準形式に加えて、Go 言語では、いくつかの単純な構文シュガーも提供されます

var 变量名称 数据类型 = 值;
const 变量名称 数据类型 = 值;

3. コード管理の比較

C 言語Go ではコードをファイルで管理#●特定の関数を使用したい場合は、対応する .h ファイルをインクルードするだけで済みます

#Go 言語のパッケージでコードを管理

●●Go 言語には .h ファイルの概念がありません。Go で特定の関数を使用したい場合は、対応するパッケージをインポートするだけで済みます。

Go 言語での関数と変数のパブリックおよびプライベート管理C 言語

●● extern および static で関数や変数を公開するかどうか

Go 言語での関数や変数のパブリックおよびプライベート管理

●● 関数や変数を extern および static で公開するかどうか関数名の最初の文字の大文字化

●● 変数名の最初の文字を大文字にして変数を公開するかどうか

#4. 主な違い

次の 8 つのポイントを要約します。

並行プログラミング

  1. インターフェース指向プログラミング

  2. 関数の複数の戻り値

  3. 実行の遅延

  4. 例外処理

  5. 強力で高性能ネットワーク プログラミング

  6. メモリ管理とリサイクル

  7. コードのクロスプラットフォームとクロスコンパイル

  8. Go がインターネット時代の C 言語として知られるのは、上記の 8 つの主要な違いのためです。

  9. 5. 具体的な違い

C と Go の具体的な違いについては、hyperpolyglot に詳細な比較表があります: http://hyperpolyglot.org/c

hyperpolyglot.org

では、いくつかの類似した開発言語とツールの詳細な比較が行われています。何もすることがないときに見ることができます。

推奨学習:

Golang チュートリアル

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

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