【第1回】Go言語(Golang)入門~環境構築編~
IT技術
第1回~Go言語(Golang)を習得したい!~
(株)ライトコードでモバイルアプリケーション開発をしている笹川(ささがわ)です!
(笹川の得意分野は、モバイルアプリケーション開発です)
今回は、重い腰を上げてGo言語(Golang)を習得するために日々ブログにて記録していこうかと思います!
ググればGo言語(Golang)についての情報はたくさんありますが、今回は「公式ドキュメント」をベースに進めていきたいと思います。
第1回目(1日目)スタートです!
開発環境はこちら
端末 | Mac Book Pro |
OS | macOS Mojave 10.14.6 |
Golang version | 1.13 |
Macにインストール
公式ページに行き、「Download Go」をクリックします。
ちょうど、2019/09/03にVersion1.13がリリースされたようですので、そちらをダウンロードしたいと思います。
ダウンロードが完了すると go1.13.darwin-amd64.pkg というファイルが保存されていますので、そちらをタップします。
インストーラーが立ち上がりました!超便利!!
ポチポチして次に進めちゃいましょう!
インストールが無事に終わったら、念の為、ちゃんとインストールされているかwhichコマンドで確認しましょう。
1$ which go
2/usr/local/bin/go
お疲れさまでした!
これでインストールは完了です!
Hello Worldをしてみよう
プログラム入門では、お馴染みの Hello World をやってみましょう!
まずは、PATHを通す必要があります。
笹川は、「作業ディレクトリ」をuserディレクトリの直下に「developmentディレクトリ」を作成し、その中で「各プロジェクトファイル」を置いています。
今回も同様にdevelopment以下で、「go」というディレクトリを作成していきたいと思います。
PATHを通す
では、PATHを通します。
1export GOPATH=$HOME/development/go
2export PATH=$PATH:$GOPATH/bin
3export PATH=$PATH:/usr/local/go/bin
お馴染みのコマンドで更新します。
1$ source ~/.bash_profile
作業ディレクトリにPATHが通っているかも確認しましょう。
1$ echo $GOPATH
2/Users/username/development/go
自分の作業ディレクトリが出力できていたら完了です!
ソースファイルを作る
今度は、ソースファイルを作りましょう。
下記コマンドを順番に実行すると、ソースファイルが作成されます。
1$ cd $GOPATH
2$ mkdir src
3$ cd src
4$ mkdir hello
5$ cd hello
6$ touch hello.go
hello.goの中には、下記を書き込みます。
1package main
2
3import “fmt”
4
5func main() {
6 fmt.Printf(“hello, world\n”)
7}
ビルド
では、書き込みが終わりましたら、ビルドしてみましょう!
hello.goを作成したディレクトリから移動してない場合は、下記コマンドでビルド完了です。
1$ go build
もし移動していたりターミナルを閉じていたら、下記でビルドをしましょう!
1$ cd $GOPATH/src/hello
2$ go build
hello.goがあるディレクトリの中に、helloという実行ファイルができているかと思います。
実行ファイルがあればビルドは成功です!
実行
それでは、実行してみましょう!
1$ ./hello
2hello, world
無事「Hello,World」できましたね!
ちなみに、ここまでの流れはこちらの公式ドキュメントに記載されていますので、不明点などはそちらを参考にしてみて下さい。
パッケージ管理ツールを入れてみよう
パッケージ構成などはまだ良くわかってないのですが、パッケージ管理ツールは入れたほうが良いようなので入れてみます。
選択肢は、「vgo」「dep」あたりがトレンドのようです。
「vgo」は、公式が薦めているようです。
しかし、多くの方が「dep」のほうを使っていて、情報収集しやすそうだったので、今回は「dep」にしようかと思います。
depのインストール
depのリポジトリのREADMEの指示通りにしてみます。
1$ brew install dep
2$ brew upgrade dep
最新バージョンがインストールされていれば2行目は不要です。
笹川は、見事に「最新版入ってる!」と怒られました。
確認
それでは、ちゃんとインストールが成功しているか確認します。
1$ dep version
2dep:
3 version : v0.5.4
4 build date : 2019-06-14
5 git hash : 1f7c19e
6 go version : go1.12.6
7 go compiler : gc
8 platform : darwin/amd64
9 features : ImportDuringSolve=false
大丈夫そうですね!
これでdepのインストールは完了です
プロジェクトを作ってみよう
引き続き、depの操作になります。
depの公式ドキュメントはこちらです。
ドキュメント通りにコマンドを実行していきたいと思います。
1$ mkdir -p $GOPATH/src/github.com/me/example
2$ cd $GOPATH/src/github.com/me/example
3$ dep init
lsコマンドで確認します。
1$ ls
2Gopkg.toml Gopkg.lock vendor/
問題なさそうです!
実際の.goファイルの作成などしてみましょう。
試しに、5秒に1回 success!! と表示させてみます。
1package main
2
3import "fmt"
4import "github.com/carlescere/scheduler"
5import "runtime"
6
7func main() {
8 // 5秒に1回 success!! と出力させる
9 scheduler.Every(5).Seconds().Run(printSuccess)
10 runtime.Goexit()
11}
12
13func printSuccess() {
14 fmt.Printf("success!! \n")
15}
実行
実行してみましょう!
1$ go run main.go
2success!!
3success!!
4success!!
5success!!
うまくいきました!
第2回へつづく!
今回は、ここまで!
流行っていたのは知っていたのですが、なかなか手を出せずにいたGo言語(Golang)。
思ったよりも環境の準備は簡単でした!
笹川の個人開発のAPIがSpringBootを利用しているので、今後は、そちらを移行したり、モバイルアプリのライブラリを作ったりしようかと思います!
ちなみに、今回、作成したgoファイルはこちらのリポジトリにて管理しています。
次回の記事はこちら
オススメのGo入門本
こちらの記事もオススメ!
2020.08.08Go言語 特集知識編人気急上昇中のGo言語(Golang)って何だ?実装編Go言語(Golang)入門...
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
新潟生まれ新潟育ち本業はモバイルアプリエンジニア。 日々、猫(犬)エンジニアとして活躍中!