このページは、Tutorial: Get started with Goページ(2023-05-31時点の記事)を翻訳したものです。
チュートリアル: Go言語をはじめよう
目次:
- 前提条件
- Goをインストールする
- コードを書く
- 外部パッケージのコードを呼び出す
- さらにコードを書く
このチュートリアルでは、Goプログラミングの簡単な紹介をします。その過程で、あなたは
- Goをインストールします(まだインストールしていない場合)。
- 簡単な「Hello, world」コードを書きます。
- コードを実行するためにgoコマンドを使用します。
- パッケージを検索するツールを使って、自分のコードで使用できるパッケージを見つけます。
- 外部モジュールの関数を呼び出します。
その他のチュートリアルはチュートリアルをご覧ください。
前提条件
- 何らかのプログラミングの経験があること。ここでのコードはとてもシンプルですが、関数について知っていると役に立ちます。
- コードを編集するためのツール。あなたが持っているテキストエディタであれば、どんなものでも問題なく使えます。ほとんどのテキストエディタは、Goをよくサポートしています。VSCode(無料)、GoLand(有料)、Vim(無料)が代表的です。
- コマンドターミナル。LinuxやMacではターミナルを、WindowsではPowerShellやcmdを使うと、Goはうまく動作します。
Goをインストールする
ダウンロードとインストールの手順でOKです。
コードを書く
Hello, Worldを始めましょう。
1. コマンドプロンプトを開き、ホームディレクトリにcdします。
LinuxまたはMacの場合:
cd
Windowsの場合
cd %HOMEPATH%
です。
2. 最初のGoソースコード用にhelloディレクトリを作成します。
例えば、次のようなコマンドを使用します:
mkdir hello
cd hello
3. コードの依存性追跡を有効にします。
あなたのコードが他のモジュールに含まれるパッケージをインポートする場合、その依存関係をあなたのコード自身のモジュールで管理します。このモジュールは、パッケージを提供するモジュールを追跡するgo.modファイルによって定義されます。このgo.modファイルは、ソースコードリポジトリを含め、あなたのコードと一緒に残ります。
go.modファイルを作成してコードの依存性追跡を有効にするには、go mod initコマンドを実行し、あなたのコードが入るモジュールの名前を与えます。この名前は、モジュールのモジュールパスです。
実際の開発では、モジュールパスは通常、ソースコードが保存されているリポジトリの場所となります。例えば、モジュールパスはgithub.com/mymoduleのようなものです。他の人が使えるようにモジュールを公開する場合、モジュールパスはGoツールがモジュールをダウンロードできる場所でなければなりません。モジュールパスによるモジュールの命名の詳細については、依存関係の管理 を参照してください。
このチュートリアルでは、example/helloを使うだけで構いません。
$ go mod init example/hello
go: creating new go.mod: module example/hello
4. テキストエディタで、コードを書くためのファイルhello.goを作成します。
5. 以下のコードをhello.goファイルに貼り付け、ファイルを保存してください。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
これは、あなたのGoコードです。このコードで、あなたは
- メインパッケージを宣言します(パッケージは関数をグループ化する方法であり、同じディレクトリにあるすべてのファイルから構成されます)。
- コンソールへの出力など、テキストをフォーマットするための関数が含まれている、人気のあるfmtパッケージをインポートします。このパッケージは、Goをインストールしたときに入手した標準ライブラリパッケージの1つです。
- コンソールにメッセージを表示するためのmain関数を実装します。main関数は、mainパッケージの実行時にデフォルトで実行されます。
6. コードを実行すると、挨拶が表示されます。
$ go run .
Hello, World!
外部パッケージのコードを呼び出す
誰かが実装したようなことを自分のコードで行う必要がある場合、自分のコードで使用できる関数を持つパッケージを探すことができます。
1. 外部モジュールの機能を使って、出力されるメッセージをもう少し面白くしてみませんか?
- pkg.go.dev にアクセスし、「quote」パッケージを検索します。
- 検索結果でrsc.io/quoteパッケージを見つけ、クリックします(rsc.io/quote/v3が表示されたら、今は無視します)。
- Documentation セクションの Indexの下に、コードから呼び出せる関数のリストがあることに注意してください。あなたはGo関数を使用することになります。
- このページのトップで、パッケージのquoteがrsc.io/quoteモジュールに含まれていることに注目してください。
pkg.go.devサイトでは、自分のコードで使える機能を持つパッケージが公開されているモジュールを見つけることができます。パッケージは、rsc.io/quoteのようなモジュールで公開され、他の人がそれを使うことができます。モジュールは時間とともに新しいバージョンに改良され、改良されたバージョンを使うために自分のコードをアップグレードすることができます。
2. Goコードで、rsc.io/quoteパッケージをインポートし、そのGo関数への呼び出しを追加します。
ハイライトされた行を追加した後、あなたのコードには次のようなものが含まれているはずです:
package main
import "fmt"
import "rsc.io/quote"
func main() {
fmt.Println(quote.Go())
}
3. 新しいモジュールの要件とsumファイルを追加します。
Goは、quoteモジュールを要件として追加し、モジュールの認証に使用するためのgo.sumファイルを追加します。詳しくは、Goモジュールリファレンスのモジュールの認証を参照してください。
$ go mod tidy
go: finding module for package rsc.io/quote
go: found rsc.io/quote in rsc.io/quote v1.5.2
4. コードを実行して、呼び出している関数が生成するメッセージを確認します。
$ go run .
Don't communicate by sharing memory, share memory by communicating.
あなたのコードがGo関数を呼び出し、コミュニケーションに関する賢いメッセージを表示していることに注目してください。
ここで出力される
Don't communicate by sharing memory, share memory by communicating.
の翻訳に関しては、以下の記事が参考になりそうでした。
go mod tidyを実行したとき、それはあなたがインポートしたパッケージを含むrsc.io/quoteモジュールを探し出し、ダウンロードしました。デフォルトでは、最新バージョン -- v1.5.2-- をダウンロードしました。
さらにコードを書く
この簡単な紹介で、あなたはGoをインストールし、いくつかの基本的なことを学びました。別のチュートリアルでさらにコードを書くには、Goモジュールを作成するをご覧ください。