Go言語(別名Golang)は、シンプルで効率的なプログラミング言語であり、高速なパフォーマンスと並行処理機能を提供します。Googleによって開発され、2009年に初めて発表されました。Goは、特にシステムプログラミングやバックエンド開発、分散システム、Webアプリケーションなどで広く利用されています。この記事では、Go言語での「最初のプログラム」を作成する方法について、初心者向けに完全かつ包括的に説明します。
Go言語のインストール
最初に、Go言語をコンピュータにインストールする必要があります。以下の手順に従ってインストールを行いましょう。

-
Goの公式サイトにアクセス
- Go言語の公式サイト(https://golang.org/)にアクセスし、「Download Go」ページを開きます。
-
オペレーティングシステムに合わせてインストール
- Windows、macOS、Linuxのいずれかのオペレーティングシステムに適したインストーラを選びます。
-
インストールを実行
- ダウンロードしたインストーラを実行し、指示に従ってGoをインストールします。
-
環境変数の設定
- Goをインストールした後、
PATH
環境変数にGoのインストールパスを追加します。通常、Goは/usr/local/go
(Linux/macOS)やC:\Go
(Windows)にインストールされます。
- Goをインストールした後、
-
インストール確認
- コマンドラインまたはターミナルを開き、以下のコマンドを入力してGoが正しくインストールされているか確認します。
bashgo version
正常にインストールされていれば、Goのバージョンが表示されます。
最初のGoプログラムを書く
Goをインストールした後、最初のプログラム「Hello, World!」を作成してみましょう。このプログラムは、Go言語が正しく動作するかを確認するための基本的なステップです。
1. Goファイルを作成
まず、任意のディレクトリにhello.go
という名前のファイルを作成します。次に、以下のコードをそのファイルに記述します。
gopackage main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
2. コードの解説
package main
: この行は、プログラムがmain
パッケージに属していることを示します。main
パッケージは、Goプログラムのエントリーポイントです。import "fmt"
: Go言語の標準パッケージであるfmt
をインポートしています。このパッケージは、フォーマット済みのI/O操作(文字列の表示など)を行うために使用されます。func main()
: これは、Goプログラムのエントリーポイントであるmain
関数です。この関数が実行されることで、プログラムがスタートします。fmt.Println("Hello, World!")
:fmt
パッケージのPrintln
関数を使って、画面に文字列「Hello, World!」を出力します。
3. プログラムの実行
プログラムが準備できたら、次にコマンドラインまたはターミナルで以下のコマンドを実行してプログラムをコンパイルおよび実行します。
bashgo run hello.go
実行後、ターミナルに「Hello, World!」と表示されれば、Goプログラムが正しく動作しています。
Goの基本的な構文
Go言語の構文には、他の多くのプログラミング言語と似た基本的な概念が含まれていますが、いくつかの特徴的な部分もあります。以下は、Go言語でよく使用される基本的な構文です。
1. 変数の宣言と初期化
Goでは、変数を宣言する際に型を明示する必要があります。例えば、整数型の変数を宣言する場合は以下のように書きます。
govar x int = 10
また、型を省略して初期値から自動的に型を推論させることもできます。
gox := 10
2. 条件分岐(if文)
Goでは、条件分岐を行う際にif
を使います。基本的な構文は以下の通りです。
goif x > 10 {
fmt.Println("xは10より大きいです")
} else {
fmt.Println("xは10以下です")
}
3. 繰り返し(for文)
Goのfor
文は、他の多くの言語に見られるwhile
やdo-while
文を含むことができます。基本的な構文は以下の通りです。
gofor i := 0; i < 5; i++ {
fmt.Println(i)
}
このコードは、0から4までの数字を表示します。
Go言語の特徴
Go言語には、他の言語と比較していくつかの特徴があります。
1. 並行処理(Goroutines)
Goの大きな特徴の一つは並行処理です。Goでは、goroutine
を使って簡単に並行処理を実現できます。例えば、以下のコードでは2つの関数を同時に実行します。
gopackage main
import "fmt"
import "time"
func printMessage(message string) {
fmt.Println(message)
}
func main() {
go printMessage("Goの並行処理を学ぼう!")
time.Sleep(1 * time.Second)
}
go
キーワードを使うことで、関数を並行して実行できます。
2. チャネル(Channels)
Goでは、goroutine
間でデータを送受信するために「チャネル」を使用します。これにより、並行処理の間で安全にデータを共有できます。
gopackage main
import "fmt"
func sendData(ch chan string) {
ch <- "データ送信"
}
func main() {
ch := make(chan string)
go sendData(ch)
fmt.Println(<-ch)
}
このコードでは、sendData
関数からチャネルを通じてデータを送信し、main
関数でそのデータを受け取っています。
Go言語で学ぶべき次のステップ
最初のプログラムを実行した後、次に学ぶべきステップは以下の通りです。
- 関数の理解: Goでは関数を活用することで、コードの再利用性と可読性を向上させることができます。
- 構造体とインターフェース: Goのオブジェクト指向的な特徴を学び、構造体やインターフェースを使ってコードを整理する方法を学びましょう。
- パッケージとモジュール: Goのパッケージシステムを理解し、コードをモジュール化して再利用できるようにしましょう。
結論
Go言語は、そのシンプルさと強力な並行処理機能により、現代のソフトウェア開発において非常に強力なツールです。最初のプログラムを作成することで、Goの基本的な構文と機能を学び、より複雑なプログラムへと進んでいけます。今後はGo言語を使用して、Web開発やシステムプログラミング、分散システムの開発に挑戦してみましょう。