バージョンアップ情報
Go情報
Goとは
Goは2009年にGoogle社からオープンソースとして発表されたプログラム言語です。既存の静的型付けプログラム言語の利点と、動的型付けプログラム言語の利点を併せ持つ比較的新しいプログラム言語です。
2009年以前、Google社においてサーバーを実装するプログラムは静的型付け言語であるC++、Javaが主流でした。これらの言語は、効率的なコンパイル、効率的な実行、プログラムの容易さ、の3つすべてを満たすものではありませんでした。また、安全性や効率性よりもプログラムの容易さを選ぶプログラマーは、動的型付けのインタプリタ言語(Python、JavaScriptなど)を選んでいました。このような背景から、双方のプログラム言語の長所を生かした新しいプログラム言語が求められるようになり、Goという新しい言語の開発が始まりました。
Goの主な設計方針は、可能な限り効率的で、安全で、流暢なプログラム言語にすることです。Goでは、コード上の無駄な記述や複雑性の削減が積極的に行われています。C言語のような前方宣言やヘッダファイルは必要なく、宣言は1度きりです。また、単純化のためC++ やJavaのような型階層やジェネリクス、例外処理、アサーション、オーバーロードがありません。
新しい言語ですが、既に多くの企業で利用されています。特に、仮想コンテナのDocker や、コンテナオーケストレーションシステムの Kubernetes は Go で実装されており、十分な稼動実績があります。
主な特徴
フォーマット |
|
---|---|
コメント |
|
ネーミング |
|
セミコロン |
|
制御機構 |
|
関数 |
|
データ |
|
初期化 |
|
メソッド |
|
インターフェース |
|
ブランク識別子 |
|
組み込み |
|
同時実行制御 |
|
エラー制御 |
|
同様の機能を提供する商用製品
Goは多くの言語のアイデアを参考にして作られておりますが、特に関連があるプログラム言語は以下のとおりです。
- Cファミリー(基本構文に関して)
- Pascal / Modula / Oberon ファミリー(宣言、パッケージに関して)
- Newsqueak / Limbo (同時実行性に関して)
動作環境
公式サイトで提供されているバイナリは、以下OS/アーキテクチャで利用可能です。これ以外の OS やアーキテクチャで利用する場合は、ソースからのインストールが必要になります。
OS |
アーキテクチャ |
---|---|
FreeBSD |
|
Linux |
|
macOS |
|
Windows 7 以降 |
|
Goのライセンス
Goは、BSDライセンスの元で配布されています。無保証であることの明記と著作権およびライセンス条文の表示を条件に、自由な改変・頒布が認められています。
製品ダウンロード
参考情報
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。
関連OSS
-
Ruby on Rails
ルビーオンレイルズ。Rubyで書かれているオープンソースのWebアプリケーション開発フレームワークです。
-
Java
ジャバ。サンマイクロシステムズ社(2010年にオラクル社に吸収合併)により開発されたプログラミング言語、及びその動作環境である Java VM(ジャバ仮想マシン) です。