コース目次 / 第2章

最初の実行 — コンパイルするということ

go mod init と go run を通して、コンパイル言語のリズムをつかみます。

第2章 / 全5章目安 約25分この章のゴール: 自分で書いた .go ファイルをターミナルから実行できる
お使いのエディタ
ファイル操作が切り替わります

PlaygroundではRunを押すだけでした。手元では、もうひと手間が入ります。それがコンパイル言語ということです。

ミニ解説: コンパイルって何をしている?

2つの言い方
Python(その場で通訳)
  あなたのコード ──→ Pythonが1行ずつ読んで実行
                     (Pythonが入っていないPCでは動かない)

Go(先に翻訳)
  あなたのコード ──→ [コンパイル] ──→ 機械が直接読める1個のファイル
                                       (Goが入っていないPCでも動く)

先にまとめて機械語に翻訳しておく。それがコンパイルです。ひと手間かかるかわりに、速く動き、配れる1個のファイルができます。この章の最後と第4章で、その両方を体験します。

1. プロジェクトの印を作る

link-check フォルダを VS Code で開いた状態で、ターミナルに打ちます。 link-check フォルダの中(cd ~/Desktop/link-check)で打ちます。
VS Codeのターミナルターミナル
go mod init linkcheck

行頭の $ は「ここからコマンド」という目印です。$ は打たないでください。

go.mod というファイルができます。

go.mod
module linkcheck

go 1.26

2行目の数字は、あなたが入れたGoのバージョンになります。go 1.26.5 のように細かい数字が入ることもあります。教材と違っていて正解なので、書き換えなくて大丈夫です。

これは1回だけのおまじないです。「このフォルダは linkcheck という名前の、1つのGoプロジェクトです」という宣言。意味が分からなくても構いませんし、二度と触りません。

2. 書く

hello.go を作ります。

ターミナル派の方

ターミナル
nvim hello.go

行頭の $ は「ここからコマンド」という目印です。$ は打たないでください。

エディタは nvim でなくて構いません。お好みのエディタのコマンドに読み替えてください。

hello.go
package main

import "fmt"

func main() {
	fmt.Println("はると のリンクチェッカー、起動")
}

字下げがタブになっているのに気づいたかもしれません。Goは gofmt という公式の整形係がタブを使うので、それに従います。VS Code に Go 拡張を入れておくと、保存するたびに自動で整えてくれます(拡張機能で「Go」を検索してインストール。無くても進められます)。崩れても gofmt -w hello.go を打てば整います。Neovim に gopls を入れていれば保存のたびに整えることもできますが、無くても進められます。

3. 走らせる

VS Codeのターミナルターミナル
go run .

行頭の $ は「ここからコマンド」という目印です。$ は打たないでください。

文字が出れば成功です。

go run . は「このフォルダをコンパイルして、そのまま実行する」という意味です。開発中はこれを使います。

4. 書き換えて、もう一度

はると を自分の名前に変えて保存し、もう一度 go run . を打ってください。

待たされた感じがしないはずです。コンパイルしているのに一瞬で終わる——これがGoの自慢のひとつで、「コンパイル言語なのに待たない」ことが選ばれる理由になっています。

ハマったら

「go.mod file not found」と出る

go mod init linkcheck を打ち忘れているか、別のフォルダで打っています。VS Code で link-check フォルダを開き直してから、もう一度打ってください。cd ~/Desktop/link-check で移動してから、もう一度打ってください。

「expected ‘package’, found …」と出る

.go のファイルは必ず package main から始まります(このコースでは全部 main です)。1行目を確認してください。

ZIPで戻したい

このページの下のZIPは、この章を終えた状態のフォルダです。解凍して、その中で作業を続けられます。自分で書き換えた部分は消えてしまうので、先に自分のファイルを別の場所へ待避してから使ってください。

こうなっていればOK

うまくいかないときは、この章の完成ファイル一式(ZIP)をダウンロードして続きから進めても大丈夫です。

卒業まであと2章です。

この章はまだ完了していません。