...
Run Format

ドキュメント

プログラミング言語Goは、プログラマの生産性をより向上させるためのオープンソースプロジェクトです。

Goは表現豊かでシンプルできれいで効率的です。並行処理のメカニズムは、革新的な型システムによる柔軟でモジュール化されたプログラム構造を実現しつつ、マルチコアやネットワーク機器にほとんど特別な考慮をすることなく容易にプログラムを書くことを可能にします。Goは素早く機械語にコンパイルでき、さらにガーベッジコレクションの利便性とランタイムリフレクションのパワーを併せ持ちます。動的形付けを持つインタプリタ型言語と感じられるほどに速い、静的型付けを持つコンパイル言語です。

Goのインストール

インストール

Goコンパイラ、ツール、ライブラリをダウンロードしインストールする手順です。

Goを学ぶ

A Tour of Go

3つのセクションから成るインタラクティブなGoのイントロダクションです。最初のセクションでは基本的な文法・データ構造を扱い、次にメソッドとインタフェースについて議論し、最後に並行化基本命令を紹介します。各セクションの終わりには練習問題がありますので、学習した内容の復習ができます。利用には、オンラインツアーローカルへインストールする方法があります。

Goの書き方

このドキュメントではどのようにgoコマンドでパッケージやコマンドをフェッチ・ビルド・インストールし、テストを実行するのかを説明しています。スクリーンキャスト(英語)も利用できます。

Effective Go

きれいで慣用的なコードを書くtipsを記したドキュメントです。すべての入門Goプログラマーにとって必読な記事です。最初に読むツアー・言語仕様の内容を補助する位置づけのものです。

よくある質問 (FAQ)

Goについての一般的な質問に対する回答です。

The Go Wiki

GoコミュニティがメンテナンスしているWikiです。

もっと読みたい

その他のGoの学習素材を利用するにはWikiのLearnページを参照ください。

リファレンス

パッケージドキュメント

Goの標準ライブラリの説明書です。

コマンドドキュメント

Go toolの説明書です。

言語仕様

公式のGo言語仕様です。

Goメモリモデル

あるgoroutineの変数の読み出しをする際に、他のgoroutineからその変数へ書き込んだ値が読み込まれることを保証する条件を記したドキュメントです。

特集記事

The Go Blog

Goプロジェクトのオフィシャルブログです。ニュースやGoチームやゲストによる特集記事を掲載しています。(英語)

コードウォーク

Goプログラムのガイドツアー

言語

パッケージ

ツール

もっと読みたい

Goの記事をさらに読みたい場合は、WikiArticlesページをご覧ください。

講演資料

Goビデオツアー

Goの速さ、楽しさ、生産性を実現する3つの要素(インタフェース、リフレクション、並行処理)。簡単なWebクローラを構築しながらこれらの要素を説明します。

美しく成熟するコード

鍵となるGo設計のゴールはコードの順応性です。簡素な設計ができ明確で自然な方法でビルドできることです。この講演では、送信されてくるTCPコネクションのペアを引き合わせ、Goの並行処理メカニズム、インタフェース、標準ライブラリを使ってWebインタフェース等の機能を拡張する簡単な「チャットルーレット」サーバをAndrew Gerrandが説明します。プログラムの機能が劇的に変化する一方で、プログラムの機能が成熟するにつれてGoの柔軟性が元々のプログラムの設計の維持に寄与していく様子をご覧いただけます。

Go並行処理パターン

並行処理はハイパフォーマンスなネットワークサービスを設計する鍵となります。Goの並行化基本命令(goroutines、チャネル)は並行処理の実行を実現するシンプルで効率的な方法を提供します。この講演では、難解な並行性の問題がシンプルなGoのコードでうまく解決できることをご覧いただけます。

高度なGo並行処理パターン

この講演ではGo並行処理パターンでの話題を、さらにディープなGoの並行化基本命令に広げます。

もっと見たい

Goに関する講演内容をもっと見るには、Goの講演資料wikiページをご覧ください。

他の言語のドキュメント

他の言語へ翻訳されたドキュメントを見るにはWikiNonEnglishページをご覧ください。