Go 言語はオープンソースです。 go 言語は 2009 年 11 月にオープン ソース プロジェクトとして正式に発表され、Linux および Mac OS X プラットフォームで実装されましたが、その後 Windows システムでの実装が追加され、BSD オープン ソース プロトコルが採用されました。 BSDオープンソースライセンスは、ユーザーが自由に使用したり、ソースコードを改変したり、改変したコードをオープンソースまたはプロプライエタリソフトウェアとして再公開したりすることができる、非常に自由なライセンスです。
このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。
Go (Golang とも呼ばれる) は、Google によって開発された、静的に強力に型付けされ、コンパイルされ、同時実行される型です。 . そしてガベージコレクション機能を備えたプログラミング言語。
Robert Griesemer、Rob Pike、Ken Thompson は 2007 年 9 月に Go の設計を開始し、その後 Ian Lance Taylor と Russ Cox がプロジェクトに参加しました。 Go は Inferno オペレーティング システムに基づいて開発されています。 Go は 2009 年 11 月に正式に発表され、オープン ソース プロジェクトとなって Linux および Mac OS X プラットフォームに実装され、その後 Windows システムでの実装が追加されました。
簡単に言うと、Go 言語はオープンソースであり、BSD ライセンスを採用しています。
BSD オープンソース契約は、ユーザーに大きな自由を与える契約です。自由に使用したり、ソース コードを変更したり、変更したコードをオープン ソースまたはプロプライエタリ ソフトウェアとして再リリースしたりすることができます。 BSD プロトコルを使用するコードを公開する場合、または BSD プロトコル コードに基づいて独自の製品の二次開発を行う場合は、次の 3 つの条件を満たす必要があります。ソース コードが含まれる場合、ソース コードには元のコードの BSD ライセンスが含まれている必要があります。
バイナリ クラス ライブラリ/ソフトウェアのみを再配布する場合は、クラス ライブラリ/ソフトウェアのドキュメントおよび著作権宣言内の元のコードに BSD プロトコルを含める必要があります。
オープンソース コードの作成者/組織の名前、および元の製品の名前をマーケティング目的で使用しないでください。
BSD コードではコードの共有が推奨されていますが、コード作成者の著作権は尊重される必要があります。 BSD は、ユーザーがコードを変更して再配布できるほか、BSD コードを使用または BSD コード上で開発した商用ソフトウェアをリリースおよび販売できるため、商用統合に適したプロトコルです。多くの企業は、オープンソース製品を選択する際に BSD プロトコルを好みます。これは、これらのサードパーティ コードを完全に制御でき、必要に応じて変更または再開発できるためです。
言語説明に行く
GO 言語は、C のシンプルさとパフォーマンスを備えているだけでなく、21 世紀のインターネット環境におけるサーバーサイド開発に役立つさまざまな実用的な機能を備えているため、GO 言語は 21 世紀の C 言語と呼ばれています。開発者は言語レベルで必要なものを簡単に入手できます。
Go 言語は、2009 年に Google がリリースした 2 番目のオープンソース プログラミング言語です。 Go 言語は、マルチプロセッサ システム アプリケーションのプログラミング用に特別に最適化されており、Go を使用してコンパイルされたプログラムは、C または C コードと同じくらい高速で、より安全で、並列プロセスをサポートします。
1. 開発チームGO言語開発キャンプはかつてないほど強力と言え、主要メンバーが多数在籍コンピュータ ソフトウェア業界で、コンピュータ ソフトウェアの開発に大きな影響を与えた歴史上の人物。ベル研究所の Ken Thompson は、B 言語を設計し、Unix オペレーティング システムを作成しました (最初は B 言語で実装されました)。その後、Unix の開発中に、デニス リッチーと C 言語を設計し、C 言語を使用して再構築しました。言語、Unix オペレーティング システム。デニス・リッチーとケン・トンプソンは Unix と C 言語の父として知られており、コンピューター ソフトウェアの開発に対する顕著な貢献が認められ、1983 年にチューリング賞を共同で受賞しました。同じくベル研究所のロブ・パイクは、Unix チームの重要なメンバーです。彼はリンボ言語を発明し、ケン・トンプソンと共同で UTF-8 エンコーディングを設計しました。彼は、『Unix プログラミング環境』と『プログラミング』の著者の 1 人です。練習する"。
2. Go 言語の機能
自動ガベージ コレクションにより開発の難易度が軽減されます
メモリとリソースの管理は常に非常にイライラする問題です。他の言語 (C や C など) では、このメモリは使用前に割り当てられ、使用後に解放される必要があるため、ちょっとした見落としによってメモリ リークが発生し、プログラムやシステムがクラッシュする可能性があります。 Go 言語の最新のガベージ コレクション メカニズムにより、開発の難易度が大幅に軽減され、興味のないメモリ管理はプロのコンパイラに任せられるため、プログラマーはより興味深いことに集中できるようになります。
関数の複数の戻り値をサポート
現在、Python を除く主流言語は基本的に関数の複数の戻り値をサポートしていませんが、開発者がこれを必要とする場合が多くあります非常に特徴があります。 Go 言語の複数の戻り値関数を使用すると、開発者は複数の値を返すためだけに特定の値を定義する必要がなくなります。 defer キーワード これは標準エラー処理プロセスに使用され、例外のスローとキャッチを完了するための組み込み関数パニックおよびリカバリを提供します。 C や Java などの言語の例外キャッチ メカニズムと比較して、
通常の例外: 呼び出し先はエラー オブジェクトを返し、呼び出し元はエラー オブジェクトを決定します。
重大な例外: 割り込みパニック (0 による除算など) を指し、遅延...回復...パニック メカニズムを使用してキャプチャおよび処理されます。重大な例外は通常、golang によって内部的に自動的にスローされ、ユーザーが積極的に例外をスローする必要がなく、従来の try...catch があらゆる場所に記述される状況を回避します。もちろん、ユーザーは、panic(‘xxxx’) を使用して積極的にスローすることもできますが、これにより、このメカニズムが構造化例外メカニズムに退化します。
ネットワーク プログラミング
golang はインターネット時代に誕生したため、本質的に分散型であり、その具体的な現れの 1 つは、豊富で便利なネットワーク プログラミングを提供することです。ソケットの net.Dial (tcp/udp に基づいており、従来の connect、listen、accept、その他のインターフェイスをカプセル化)、http の http.Get/Post()、rpc の client.Call('class_name.method_name', args) など、&返信)など。
コンパイル
コンパイルされた Go プログラムを実行するには、Java の jdk や js のノードなどの実行環境を追加インストールする必要はありません。同時に、Go はネイティブのクロスコンパイル サポートを提供します。 、クロスコンパイル このプラットフォームは、開発と展開に非常に便利です。
3. Go 言語の使用シナリオ
サーバー プログラミング。これまで C または C を使用してこれらの作業を行っていた場合、ログ処理、データ パッケージ化、仮想マシンなどの作業には Go を使用するのが非常に適しています。処理、ファイルシステムなど。
開発効率 GO 言語は使いやすいおよびコードの説明 効率が高く、コーディング標準が統一されており、すぐに開始できます。
参考URL: https://studygolang.com/articles/24885
ほとんどのシステムレベル言語 (Java や C# を含む) の基本的なプログラミング哲学は C に由来しており、C のオブジェクト指向アプローチをさらに発展させています。しかし、Go 言語の設計者は異なる見解を持っており、C 言語は学ぶ価値があると信じています。 C 言語の根強い人気の根源は、そのシンプルさです。したがって、Go 言語は非常にシンプルです。 Go は大規模システムを開発する人によって、また開発者のために設計されました。言語設計を研究するためではなく、エンジニアリングの問題を解決するためのものです。プログラミングをより快適で便利にするためのものです。 **
ただし、多くのエンジニアが C 部門出身であるなど、当時の Google の内部事情を考慮すると、新しく設計された言語は習得しやすいものでなければならず、できれば C に似た言語でなければなりません。言語は 20 年間新しい言語がなかったので、新しく設計された言語は最新のもの (組み込み GC など) およびその他の状況でなければなりません。最後に、実践的な経験に基づいて、目標に向かって Go 言語を設計しました。
2. Go 言語と JAVAコンパイル言語、中程度の速度 (2.67 秒)、
現在Taobao、JD.com などの大規模な Web サイトのほとんどは Java で書かれています。その主な特徴は、安定性、優れたオープンソース、独自の記述仕様セット、適度な開発効率であり、現在最も主流の言語です。
4. Go 言語と Python2019 年に Python、golang、Java、C のどれを選択するか?
参考URL: https://zhuanlan.zhihu.com/p/65177007 比較学習: Golang VS Python3
参考URL: https://zhuanlan.zhihu.com/p/65613337
Golang と Python はどちらも、現在、それぞれの分野で最も人気のある開発言語の 1 つです。
Golang の効率的で使いやすい構文は多くのバックエンド開発者の支持を得ており、同時実行性の高いネットワーク プログラミングに最も適した言語の 1 つです。
言うまでもなく、TIOBE ランキングにおける Python の永住者トップ 10 は現在、トップ 5 内で安定しています。機械学習、AI、データ分析の分野で学習が必須の言語となっています。
の点で明らかに有利です。さらに、go は構文が簡潔で、型システムの設計が Python よりも優れています。
は Python などの動的言語と比べても劣りません。通常、ネイティブ Python アプリケーションよりも 1 桁高く、ボトルネック サービスの作成に適しています。メモリ使用量も非常に経済的です。
スクリプト言語、最も遅い (258 秒)、コードが単純、学習の進捗が短く、開発速度が速い。 Douban は Python で書かれています。 Python の有名なサーバー フレームワークには、django や flask などがあります。ただし、Python は大規模なプロジェクトでは安定していないため、Python を使用していた一部の企業は後に Java に移行しました。Go ビデオ チュートリアル【関連する推奨事項:
以上がGo 言語はオープンソースですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。