🐕

【これからGoを始める人のために】GoのInstallと環境構築、実行方法まとめ

2023/11/06に公開

記事の内容

これから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が完了します。

https://go.dev/doc/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 rungo 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

https://github.com/rara-tan/zenn-go-hello-world

こちらにサンプルコードを配置してあります。

note

勉強法やキャリア構築法など、エンジニアに役立つ記事をnoteで配信しています。

https://note.com/ring_belle/membership

Discussion