【これからGoを始める人のために】GoのInstallと環境構築、実行方法まとめ
記事の内容
これからGoを始める人のために、GoのInstallとローカル環境で動かす方法を紹介します。
記事を読むと得られるもの
- Go言語のInstall方法(Mac)
- Goの環境構築
- GoでHello Worldする方法
- go run
- go build
- go runとgo buildの違い
対象読者
- Goに入門したい人
- Goに興味がある人
記事の長さ
3分で読めます
Install
まずは、GoのInstall方法を紹介します。
GoのInstallはとても簡単で、公式サイト( https://go.dev/doc/install )にいき、Downloadボタンを押して、ローカルにダウンロードされたInstallerを起動するだけでInstallが完了します。
GoがInstallされたかを確認する
GoのInstall作業が完了したら、正常にGoがローカルで使えるかどうかを確認します。
Terminalで以下のコマンドを実行してください。
$ go version
go version go1.21.3 darwin/arm64
上記のように、何かしらのバージョン情報が表示されたら、正常にInstallされています。
Goをローカル環境で動かす
GoのInstallが完了したら、Hello World
という文字列をターミナルに表示する基本的なプログラムを書きます。
hello.goファイルを作成する
$ mkdir hello-world
$ cd hello-world
$ touch hello.go
上記コマンドを実行し、以下のようなディレクトリ構成にしてください。
$ tree
.
└── hello-world
└── hello.go
※treeコマンドは、ディレクトリ構成をターミナルに表示するコマンドです。
hello.goファイルを編集する
先ほど作成した、hello.go
ファイルを編集し、このファイルを実行したらHello, world
という文字列が表示されるようにします。
hello.go
package main
import "fmt"
func main() {
fmt.Println("Hello, world")
}
hello.goを実行する(go run)
先ほど作成・編集したhello.go
をターミナル上で実行し、ターミナルにHello, world
という文字列を表示します。
hello.go
ファイルがあるディレクトリにて、Terminalで、go run hello.go
というコマンドを入力してください。
$ go run hello.go
Hello, world
上記のように、ターミナルに文字列が表示されます。
hello.goをビルドしてから実行する(go build)
go run
コマンドを実行すると、Goのファイルを直接実行できます。
しかし、Goはコンパイル言語なので、本来は、ソースコードをコンパイルしてから実行する必要があります。
Goでコンパイルを実行してから、プログラムを実行する方法は以下になります。
$ go build hello.go
$ ls
hello hello.go
$ ./hello
Hello, world
まず、go build hello.go
を実行し、バイナリファイル(hello)を作成。
その後、./hello
コマンドで、バイナリファイルを実行します。
これで、go run hello.go
を実行した時と同じ結果が出力できました。
go runとgo buildの違い
go run
とgo build
の違いを解説します。
Goはコンパイル言語です。
そのため、Goで作成したファイルを実行するためには、人間が書いたソースコード(今回でいうと、hello.go
)を、コンピュータが理解できるファイル(バイナリ)に変換する必要があります。
コンパイルというのは、人間が書いたソースコード
をコンピュータが実行できるファイル(バイナリ)
に変換する作業のことです。
そして、そのコンパイルを行うコマンドがgo build
です。
Goでプログラムを実行したい場合は、必ず、go build
→ バイナリファイルが作成される
→ そのファイルを実行する
という一連のフローが必要です。
しかし、ローカル開発環境でGoのプログラムを書いている際に何度もbuild
と実行
を繰り返すのは、面倒です。
そんな時に、使うコマンドがgo run
コマンドです。
go run
コマンドはbuild
と実行
を同時に行うコマンドで、あたかもGoのソースを直接実行しているかのように振る舞います。
しかし、実際のところは、go buildを実行
-> 作成されたバイナリファイルを一時フォルダに保存
-> そのファイルを実行
を裏で行っています。
つまり、go build
とバイナリファイルの実行
を行っているが、バイナリファイルを現在のフォルダに保存しない処理になっています。(この挙動のおかげで、直接Goのプログラミングファイルを実行しているかのように見えます)
まとめ
本記事にて、
- GoのInstall
- Hello World
- go run
- go build
を解説しました。
これらの知識があれば、基本的なGoの処理は実行可能です。
Github Repo
こちらにサンプルコードを配置してあります。
note
勉強法やキャリア構築法など、エンジニアに役立つ記事をnoteで配信しています。
Discussion