Go言語で最初のプログラムを作成する前に、開発環境を整える必要があります。Goでは、ソースコードやコンパイル済みバイナリを管理するための「ワークスペース」という概念が用いられます。
Goワークスペースの構築
Goのワークスペースは、通常、ホームディレクトリ直下のgoディレクトリに設定されます。Unix系OS(macOS、Linux)では$HOME/go、WindowsではC:\Users\YourUsername\goとなります。GOPATH環境変数を設定することで、別の場所をワークスペースとして指定することも可能ですが、ここでは推奨されるパスを使用します。
ワークスペース内にsrcディレクトリを作成し、その中にプロジェクトごとのサブディレクトリを作成します。ここではhelloという名前のプロジェクトを作成し、その中にhelloworld.goというファイルを作成します。
ディレクトリ構造は以下のようになります。
go/
src/
hello/
helloディレクトリ内に、以下の内容でhelloworld.goファイルを作成します。
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
ファイル作成後のディレクトリ構造は以下のようになります。
go/
src/
hello/
helloworld.go
Goプログラムの実行方法
Goプログラムの実行には、主に以下の2つの方法があります。
1. go run コマンドを使用する
コマンドラインで、以下のコマンドを実行します。
go run /path/to/your/workspace/src/hello/helloworld.go
/path/to/your/workspaceは、ご自身のGoワークスペースのパスに置き換えてください(例: $HOME/go または C:/Users/YourUsername/go)。
実行すると、コンソールにHello Worldと表示されます。
2. go install コマンドを使用する
まず、以下のコマンドでプログラムをビルド・インストールします。
go install hello
このコマンドは、ワークスペース内のsrc/helloディレクトリにあるhelloパッケージを検索し、コンパイルして実行可能ファイルを生成します。生成された実行可能ファイルは、ワークスペースのbinディレクトリに配置されます(Windowsではhello.exe)。
インストール後、以下のコマンドでプログラムを実行できます。
/path/to/your/workspace/bin/hello
go install実行後のディレクトリ構造は以下のようになります。
go/
bin/
hello # Windowsでは hello.exe
src/
hello/
helloworld.go
コード解説
package main // Goプログラムの先頭にはパッケージ名を宣言する必要がある。これは「main」パッケージであることを示す。
import "fmt" // 「fmt」パッケージをインポートする。「Println」関数はこのパッケージに含まれている。
// 関数外では変数、定数、型定義などは可能だが、実行ロジックは記述できない。
func main() { // 「main」関数はプログラムのエントリーポイントとなる。
fmt.Println("Hello World") // 標準出力に「Hello World」を出力する。
}
/*
- package main: Goファイルは最初にパッケージ名を宣言します。パッケージはコードのモジュール化と再利用を可能にします。ここでは`main`パッケージを指定しています。
- import "fmt": `fmt`パッケージをインポートします。このパッケージは、標準入出力関数(例: `Println`)を提供します。
- func main(): `main`関数は特別な関数であり、Goプログラムの実行開始点となります。`main`パッケージ内に定義される必要があります。波括弧 `{}` は関数の開始と終了を示します。
- fmt.Println("Hello World"): `fmt`パッケージの`Println`関数は、引数として渡された文字列を標準出力に出力します。
*/