はじめに
最近Go言語へ入門したので学んだことを記憶の整理を兼ねて書く。この記事ではGoでHello Worldができるまでを書く。windows、linuxなどのMacOS以外の環境での動作は確認していないが、同様の方法で進められるように書いた。
環境
MacOS BigSur 11.2.3で行った。
使用方法
Goは他にも幾つかあるかもしれないが、Playgroundを使う方法とGoをインストールしてを使う方法がある。Playgroundはプログラムの作成と実行ができるwebアプリケーションであり、簡単なコードを試したいときなどに使うのが便利である。この記事では後者の方法で導入を行い、Hello Worldを行う(PlayGroundは開いてrunするとできる)。
インストール
GoはMacを使っているのであればbrew install go
でインストールできるが、今回はwindowsやlinuxでも同様の手法で行えるように公式サイトからダウンロードしてインストールを行う。バージョンに拘りがなければFeatured downloadsから自分の環境に合わせたものをクリックするとダウンロードが行える。インストーラーではインストール先などが聞かれるが、通常はそのまま進めてインストールを行なって良い。インストールができたら、ターミナルなどからgo version
と行いインストールしたGOのバージョンが出たら成功(既にターミナルを開いていたのであれば再起動する必要がある)。
goコマンドがわからないと出たら、zshを使っている場合は
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.zshrc
source ~/.zhsrc
bashを使っている場合は
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
とターミナルから実行することで問題なく使える(GOROOTと言うものを設定している)。linuxでは$HOME/.profile
または/etc/profile
に
export PATH=$PATH:/usr/local/go/bin
を追加すると良いらしい。インストールについてわからないことがあればここを参照すると良い。
Hello Worldするコードを書く。
適当なテキストエディタで任意の場所に以下のようなソースコードを記述する。
package main
import (
"fmt"
)
func main() {
fmt.Prinrln("Hello World")
}
記述したら、コードを保存した場所で以下のコマンドを打つ
go run hello.go
そうすると、Hello Worldと出力される。インタプリタ言語のように動いているように感じるが、go run
はコンパイルと実行を連続して行うコマンドであり、インタプリタのように感じるのはコンパイルの高速さゆえの錯覚のためである。もちろんコンパイルだけを行うこともできて、その場合はgo build hello.go
と入力することでネイティブコードのプログラムファイルを生成することができる。このファイルはMacOSではhello
というコマンドプログラム、windowsであればhello.exe
である。これらのプログラムの実行は./hello
やhello
と入力することでできる。