チュートリアル: Go の使用を開始する
このチュートリアルでは、Go プログラミングの簡単な紹介をします。このチュートリアルを通して、次のことを行います。
- Go をインストールします (まだインストールしていない場合)。
- 簡単な「Hello, world」コードを作成します。
goコマンドを使用してコードを実行します。- Go パッケージ検出ツールを使用して、自分のコードで使用できるパッケージを見つけます。
- 外部モジュールの関数を呼び出します。
前提条件
- プログラミング経験が多少あること。ここのコードは非常に単純ですが、関数について多少知っていると役立ちます。
- コードを編集するためのツール。お手持ちのテキストエディタで問題ありません。ほとんどのテキストエディタは Go をよくサポートしています。最も人気のあるものは VSCode (無料)、GoLand (有料)、Vim (無料) です。
- コマンドターミナル. Go は Linux および Mac の任意のターミナル、および Windows の PowerShell または cmd でうまく動作します。
Go をインストールする
ダウンロードとインストールの手順を使用するだけです。
コードを作成する
Hello, World から始めましょう。
- コマンドプロンプトを開き、ホームディレクトリに移動します。
LinuxまたはMacの場合
cd
Windowsの場合
cd %HOMEPATH%
- 最初の Go ソースコード用に hello ディレクトリを作成します。
例えば、次のコマンドを使用します。
mkdir hello cd hello
- コードの依存関係追跡を有効にする。
コードが他のモジュールに含まれるパッケージをインポートする場合、それらの依存関係はコード独自のモジュールを介して管理されます。このモジュールは、それらのパッケージを提供するモジュールを追跡する 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
-
テキストエディタで、コードを記述する hello.go ファイルを作成します。
-
次のコードを hello.go ファイルに貼り付け、ファイルを保存します。
package main import "fmt" func main() { fmt.Println("Hello, World!") }これはあなたの Go コードです。このコードでは、次のことを行います。
-
コードを実行して、挨拶を確認します。
$ go run . Hello, World!
go runコマンドは、Go でタスクを実行するために使用する多くのgoコマンドの 1 つです。他のコマンドのリストを取得するには、次のコマンドを使用します。$ go help
外部パッケージのコードを呼び出す
自分のコードで、他の誰かが実装したかもしれないことを実行する必要がある場合は、自分のコードで使用できる関数を持つパッケージを探すことができます。
- 外部モジュールの関数を使用して、出力メッセージを少し面白くしましょう。
- pkg.go.dev にアクセスして、「quote」パッケージを検索します。
- 検索結果で、
rsc.io/quoteパッケージの v1 を見つけてクリックします (rsc.io/quote/v4の「他の主要バージョン」とともに表示されるはずです)。 - Documentation セクションの Index の下にある、コードから呼び出すことができる関数のリストに注目してください。
Go関数を使用します。 - このページの上部で、パッケージ
quoteがrsc.io/quoteモジュールに含まれていることに注目してください。
pkg.go.dev サイトを使用して、自分のコードで使用できる関数を持つパッケージが公開されているモジュールを見つけることができます。パッケージは
rsc.io/quoteのようなモジュールで公開され、他の人が使用できます。モジュールは時間の経過とともに新しいバージョンで改善され、改善されたバージョンを使用するようにコードをアップグレードできます。 - Go コードで、
rsc.io/quoteパッケージをインポートし、そのGo関数への呼び出しを追加します。ハイライトされた行を追加した後、コードには次のものが含まれるはずです。
package main import "fmt" import "rsc.io/quote" func main() { fmt.Println(quote.Go()) } - 新しいモジュール要件と合計を追加します。
Go は、
quoteモジュールを要件として追加し、モジュールの認証に使用する go.sum ファイルも追加します。詳細については、Go Modules Reference のモジュールの認証を参照してください。$ go mod tidy go: finding module for package rsc.io/quote go: found rsc.io/quote in rsc.io/quote v1.5.2
- コードを実行して、呼び出している関数によって生成されたメッセージを確認します。
$ go run . Don't communicate by sharing memory, share memory by communicating.
コードが
Go関数を呼び出し、コミュニケーションに関する気の利いたメッセージを出力していることに注目してください。go mod tidyを実行すると、インポートしたパッケージを含むrsc.io/quoteモジュールが検索され、ダウンロードされました。デフォルトでは、最新バージョンである v1.5.2 がダウンロードされました。
さらにコードを記述する
この簡単な紹介で、Go をインストールし、いくつかの基本を学びました。別のチュートリアルでさらにコードを記述するには、Go モジュールを作成するを参照してください。